0

假设我有一个包含用户列表的表,我像这样检索用户表:

SELECT userid FROM users WHERE year = 2012

这会生成一个用户列表,更具体地说,是用户 ID(数字)。

所以,假设我们的列表现在看起来像这样(随机用户 ID):

1234
9532
0983
2098
1980

在另一个表中,我们有用户最喜欢的颜色,每种颜色都有一个条目。所以用户 1234 可以在表中有多个条目(我们称之为 fav_colors):

1234 red
1234 blue
9532 yellow
9532 red
0983 blue
0983 purple

这是我试图掌握的概念的非常简化的示例。如何形成一个查询来向我显示 2012 年的用户(来自第一个查询),以及谁喜欢红色?我在组合来自 users 表和 fav_colors 表的查询时遇到问题

谢谢

4

2 回答 2

3

这应该会给你你正在寻找的结果

SELECT u.userid, c.color
FROM users AS u
JOIN fav_colors AS c
  ON u.userid = c.userid
WHERE u.year = 2012
  AND c.color_name = 'red'
于 2013-02-05T17:11:15.653 回答
0

您需要使用 SQL 连接来链接两个表并使用 where 子句作为年份和红色。

有关SQL 连接的更多信息,请参阅:http ://www.w3schools.com/sql/sql_join.asp。

如果您需要更多解释,请告诉我。

于 2013-02-05T17:11:21.443 回答