如何编写一个MySQL查询,该查询返回一个临时列,其中包含与该行相关的项是否存在于另一个表中的标志

sun*_*ant 1 mysql sql

我如何编写MySQL查询以实现下面显示的所需结果?

我有两张桌子:

TABLE_USERS:

 ID | Name  |  ... 
--------------------
 1  | Ash   |
 2  | Tim   |
 3  | Jim   |
 4  | Jay   |
 5  | Tom   |


TABLE_FLAGS:

 ID | Reason |  ...
----------------------
 2  |  ??    |
 4  |  ...   |
Run Code Online (Sandbox Code Playgroud)

我想知道如何编写一个产生以下列结果的查询:

DESIRED RESULT:


 ID | Name  | Flagged
----------------------
 1  | Ash   |  false
 2  | Tim   |  true
 3  | Jim   |  false
 4  | Jay   |  true
 5  | Tom   |  false
Run Code Online (Sandbox Code Playgroud)

我可以:

SELECT TABLE_USERS.ID, TABLE_USERS.NAME
FROM TABLE_USER
Run Code Online (Sandbox Code Playgroud)

要获得前两列,但我不知道如何获得最后一列...

最后一列不直接对应于两个表之一中的列; 相反,对于每一行,它返回true或false,基于TABLE_FLAGS中是否存在该行id值的条目

谢谢

Akh*_*hil 6

   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
Run Code Online (Sandbox Code Playgroud)