结合来自多个表的这些mysql查询

时间:2013-02-05 17:09:05

标签: mysql

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

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年的用户(从第一个查询开始),以及谁喜欢红色?我在用户表和fav_colors表

中组合查询时遇到问题

由于

2 个答案:

答案 0 :(得分: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'

答案 1 :(得分:0)

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

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

告诉我你是否需要更多解释。