SQL是列中的值,是另一个表中列表的一部分?

时间:2016-09-20 20:57:08

标签: sql

我相信这个问题非常简单但是它很简单,我不确定如何处理它。我搜索了答案,但我得到的最接近的是这样的:

SELECT * FROM USERS WHERE user IN ('user1', 'user2', 'user3')   

这不是我需要的。我想我不知道如何为谷歌制定问题。我有一个列出所有用户的表,我有一个第二个表,其中只列出了管理员用户。我需要运行一个:

Select *
第一个表上的

,我想在第二个表中加入它,这样我得到一个额外的列,其值为#34;是"或"不"取决于用户是否存在于第二个表中。

3 个答案:

答案 0 :(得分:2)

uri.parse.file

答案 1 :(得分:2)

您需要在管理员表上使用左连接,并在select子句中使用案例表达式来确定是否在管理员表中找到了该行。

您没有完全描述您的表格,但它看起来像这样:

select u.*,
       case when a.userId is not null then 'yes' else 'no' end as isAdmin
  from users u
  left join admins a
    on a.userId = u.userId

答案 2 :(得分:1)

SELECT USERS.*
     , case when a.admin is not null then 'yes' else 'no' end as admin 
FROM USERS
left JOIN admin on users.id = admin.id 
WHERE USERS.user IN ('user1', 'user2', 'user3')