这是问我问题的简化表:
Names
+------+----------+
| id | name |
|------+----------|
| 1 | Alex |
| | |
| 2 | John |
| | |
| 3 | Fred |
| | |
| 4 | Andy |
+------+----------+
id: primary key
如何只执行一个单个 查询并获取两个名称?我有两个 ID n1
和 n2
,我想检索两个对应的名称:
SELECT name1, name2 FROM names WHERE ...n1....n2...
执行 n1=2
和 n2=3
的查询后,结果应该是:
+------------+------------+
| name1 | name2 |
+------------+------------+
| John | Fred |
+------------+------------+
这可能吗?我不知道。
最佳答案
您可以将聚合函数与 CASE 表达式一起使用:
select
max(case when id = 2 then name end) Name1,
max(case when id = 3 then name end) Name2
from names;
参见 Demo
关于php - 单个查询中的两个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17577072/