如下PHP中的SQL查询语句 我想多一个查询条件该怎么写

SELECTpost_idFROMpost_metaWHEREmeta_value='red'我想再添加一个meta_value=blue该怎样写?补充一下用and不行不... SELECT post_id FROM post_meta WHERE meta_value = 'red'

我想再添加一个 meta_value = blue
该怎样写?
补充一下 用and不行 不知道是不是程序系统限制还是sql表的结构问题
现在的meta表的结构大概是
重新表述一下问题吧

post_id meta_id meta_key meta_value
........... ............. ............... ...................
12 100 color red
12 101 size xxl

........... ............. ............... ...................

如上表 想用我之前发的语句 查询取出 meta_value同时为red和xxl的post_id
该如何写
展开
 我来答
lssbing
2013-04-11
知道答主
回答量:48
采纳率:0%
帮助的人:26.4万
展开全部
or 连接查询条件就可以了
SELECT * FROM post_meta WHERE meta_value = 'red' or meta_value = 'blue'

或者
SELECT * FROM post_meta WHERE meta_value IN ('red','blue' );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a19d193
2013-04-11 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1434万
展开全部
SELECT `p1`.`post_id` FROM post_meta AS `p1`
LEFT JOIN `post_meta` AS `p2` on `p1`.`post_id` = `p2`.`post_id` AND `p2`.`meta_key` = 'size'
WHERE `p1`.`meta_key` = 'color' AND `p1`.`meta_value` = 'red' AND `p2`.`meta_value` = 'xxl';

试试看

追问
稍等我试一下 不过大哥百度这code高亮阅读性还不如纯文本呢....
追答
测试结果咋儿样?行的话记得采纳哦
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gzkiko
2013-04-10 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:107万
展开全部
oh my god, 你连SQL基础都不学就上来问百度,这样你学的更慢更不牢固啊
SELECT post_id FROM post_meta WHERE meta_value = 'red' and meta_value = 'blue'
and表示并且,可以用or表示或者
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a930b2e
2013-04-10 · TA获得超过116个赞
知道小有建树答主
回答量:292
采纳率:86%
帮助的人:75.2万
展开全部
SELECT post_id FROM post_meta WHERE meta_value IN (red,blue );
追问
这样得到的结果,是meta_value值为red和blue的所有id
我想要的是同时满足这两个条件的结果
可能我前面举得栗子不恰当 请看我更新的问题
追答
看不懂,你向表里里面插入一条你想要的结果,看能不能插入进去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式