Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL是列中的值还是另一个表中列表的一部分?_Sql - Fatal编程技术网

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

SQL是列中的值还是另一个表中列表的一部分?,sql,Sql,我相信这个问题很简单,但实际上它太简单了,我不知道如何解决它。我在寻找答案,但最接近的答案是: SELECT * FROM USERS WHERE user IN ('user1', 'user2', 'user3') 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.userI

我相信这个问题很简单,但实际上它太简单了,我不知道如何解决它。我在寻找答案,但最接近的答案是:

SELECT * FROM USERS WHERE user IN ('user1', 'user2', 'user3')   
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
这不正是我需要的。我想我不知道如何为谷歌提出这个问题。我有一个表,其中列出了所有用户,第二个表中只列出了管理员用户。我需要运行一个:

Select *

在第一个表上,我想把它与第二个表连接起来,这样我会得到一个附加的列,其值为“yes”或“no”,这取决于用户是否存在于第二个表中。

您需要在admins表上使用左连接,并在
select
子句中使用大小写表达式来确定该行是否在admins表中

SELECT u.*, ISNULL(a.user_id,0) AS is_admin 
FROM user u LEFT JOIN admin_user a ON u.user_id=a.user_id
您没有完整描述您的表格,但它看起来是这样的:

SELECT * FROM USERS WHERE user IN ('user1', 'user2', 'user3')   
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

我认为这并不能完全解决这个问题。实际上,没有用户列表。这只是一个例子这里有一个关于连接如何工作的好例子。您在('user1'、'user2'、'user3')中缺少用户。我会礼貌地给你们一个评论,而不是否决投票。“但你肯定投了我的票。”狗仔队:我没有投任何人的票,但不用担心。