MySQL查询多个AND

标签 mysql sql

假设我有一个 MySQL 表 (meta_table),数据如下:

meta_id,post_id,meta_key,meta_value
5,10,my_key1,value1
10,11,my_key2,value2
15,12,my_key3,value3
35,11,my_key4,value4

如果 meta_value 是 value2 和 value4(答案应该是 11),我如何获得 post_id。 我试过这个:

SELECT post_id from meta_table where meta_value='value2' and meta_value='value4' 

但它不会返回 11 作为 post_id。有什么建议吗?

最佳答案

加入:

SELECT a.post_id
FROM meta_table AS a
JOIN meta_table AS b ON a.post_id = b.post_id
WHERE a.meta_value = 'value2' AND b.meta_value = 'value4'

http://www.sqlfiddle.com/#!2/96d2b/4/0

关于MySQL查询多个AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680007/

相关文章:

sql - 将列字符拆分为行 Oracle

sql - 如何在 Firebird 2.5 中删除列的空约束

php - Zend Framework 2 中的 SUBSTRING()/MID() 语句

sql - 防止Sql列溢出

php - 将条件多次插入到 1 个表中

mysql - Rails has_many 时将 String 类型转换为十进制进行排序

mysql - 大查询 SQL 中其他列中 2 个提取列的总和

php - 在 YII 中,陈词滥调的主题搜索 MANY_MANY ,但到处都有很多信息,都不同,帮助我理解

php - Customer_id 的订单计数(按类别 no)

php - 在 Mysql 上更新 BLOB 缩略图时出现问题