Mysql多次选择COL以获得不同的值

标签 mysql select

这是表结构:

ID PID KEY VALUE
1 2 CITY NEW YORK
2 2 COUNTRY UNITED STATES
3 2 STATE NEW YORK
4 1 CITY NEW JERSEY

等等.. 我想要的是获取/过滤结果,如

Where (KEY = CITY and VALUE = NEW YORK) 
      AND (key = country AND VALUE= UNITED STATES)

这将返回空行!

最佳答案

您需要一个 self JOIN

SELECT t1.*
FROM my_table t1
INNER JOIN my_table t2 ON t1.pid = t2.pid
WHERE t1.key = 'city' and t1.value = 'new york'
  AND t2.key = 'country' and t2.value = 'united states';

关于Mysql多次选择COL以获得不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846645/

相关文章:

MySQL根据id order by listorder获取上一条和下一条记录

mysql - LEFT JOIN 查询中的 WHERE 子句

mysql - 使用 mysql 的 Rails LIKE 查询

mysql - 如何获取mySQL表的矩阵

mysql - 如何编写 MySQL SELECT 查询来实现此结果?

mysql - 使用 SELECT 结果更新查询

php - 推特日期格式到Mysql

mysql - 在 Mysql 中使用 First_Value 函数时的错误值

Mysql if语句选择多行

php - 从数据库中选择一个值