SQL:Pulling id';从一个表中获取名称以从另一个表中获取名称
假设我有两张桌子。一个有头发颜色和用户idSQL:Pulling id';从一个表中获取名称以从另一个表中获取名称,sql,Sql,假设我有两张桌子。一个有头发颜色和用户id TABLE A: USER_ID HAIR_COLOR 1 black 2 black 2 black 3 blonde ... 以及另一个具有用户ID和名称的: TABLE B: USER_ID NAME 1 John 2 Jane 3 Sally 我想在一个命令中获得所有金发用户的列表。问题是,我也只想要表A中重
TABLE A:
USER_ID HAIR_COLOR
1 black
2 black
2 black
3 blonde
...
以及另一个具有用户ID和名称的:
TABLE B:
USER_ID NAME
1 John
2 Jane
3 Sally
我想在一个命令中获得所有金发用户的列表。问题是,我也只想要表A中重复的用户
我是SQL新手,但我相信您可以在这里获得所有金发碧眼的用户id,这些用户id与:
SELECT
user_id
FROM
A
GROUP BY
user_id, hair_color
HAVING
COUNT(*) > 1
但是我不知道如何通过表B将用户ID列表转换为实际名称
(这是一个简单的MWE,我意识到有更好的方法来格式化DBs。)看起来您可以简单地使用子查询扩展查询:
SELECT
user_id, (SELECT name FROM B WHERE B.user_id = A.user_id)
FROM
A
GROUP BY
user_id, hair_color
HAVING
COUNT(*) > 1
看起来您可以通过一个子查询轻松地扩展查询:
SELECT
user_id, (SELECT name FROM B WHERE B.user_id = A.user_id)
FROM
A
GROUP BY
user_id, hair_color
HAVING
COUNT(*) > 1
尝试以下操作(扩展查询):
尝试以下操作(扩展查询):
这很有效。我喜欢这本书的简洁易懂。这本书非常好用。我喜欢它的简洁易懂。