如下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
该如何写 展开
我想再添加一个 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
该如何写 展开
4个回答
展开全部
or 连接查询条件就可以了
SELECT * FROM post_meta WHERE meta_value = 'red' or meta_value = 'blue'
或者
SELECT * FROM post_meta WHERE meta_value IN ('red','blue' );
SELECT * FROM post_meta WHERE meta_value = 'red' or meta_value = 'blue'
或者
SELECT * FROM post_meta WHERE meta_value IN ('red','blue' );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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高亮阅读性还不如纯文本呢....
追答
测试结果咋儿样?行的话记得采纳哦
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oh my god, 你连SQL基础都不学就上来问百度,这样你学的更慢更不牢固啊
SELECT post_id FROM post_meta WHERE meta_value = 'red' and meta_value = 'blue'
and表示并且,可以用or表示或者
SELECT post_id FROM post_meta WHERE meta_value = 'red' and meta_value = 'blue'
and表示并且,可以用or表示或者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT post_id FROM post_meta WHERE meta_value IN (red,blue );
追问
这样得到的结果,是meta_value值为red和blue的所有id
我想要的是同时满足这两个条件的结果
可能我前面举得栗子不恰当 请看我更新的问题
追答
看不懂,你向表里里面插入一条你想要的结果,看能不能插入进去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询