我如何编写 MySQL 查询才能获得如下所示的预期结果?
我有两个表:
TABLE_USERS:
ID | Name | ...
--------------------
1 | Ash |
2 | Tim |
3 | Jim |
4 | Jay |
5 | Tom |
TABLE_FLAGS:
ID | Reason | ...
----------------------
2 | ?? |
4 | ... |
我想知道如何编写生成包含以下列的结果的查询:
DESIRED RESULT:
ID | Name | Flagged
----------------------
1 | Ash | false
2 | Tim | true
3 | Jim | false
4 | Jay | true
5 | Tom | false
我能做到:
SELECT TABLE_USERS.ID, TABLE_USERS.NAME
FROM TABLE_USER
要获取前两列,但我不确定如何获取最后一列...
最后一列不直接对应两个表中的一个列;相反,对于每一行,它根据 TABLE_FLAGS 中是否存在该行 id 值的条目返回 true 或 false
谢谢
最佳答案
SELECT tu.ID,
tu.NAME,
CASE WHEN tf.ID IS NOT NULL THEN 'true' ELSE 'false' END AS Flagged
FROM TABLE_USER tu
LEFT OUTER JOIN TABLE_FLAGS tf ON tu.ID = tf.ID
关于mysql - 如何编写一个 MySQL 查询,该查询返回一个临时列,其中包含与该行相关的项目是否存在于另一个表中的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134558/