我想将2个相同的表合并到一个表中并区分用户。 这两个表看起来像这样:
Table1
**************
id, user, total
1, 1, 7
2, 2, 10
3, 3, 14
Table2
**************
id, user, total
1, 1, 4
2, 2, 7
3, 3, 3
我希望得到这样的结果:
user, total1, total2
1, 7, 4
2, 10, 7
3, 14, 3
SQL查询应该如何显示?
答案 0 :(得分:4)
您需要JOIN
列user
上的表格:
select t1.user,
t1.total,
t2.total as total2
from table1 t1
inner join table2 t2
on t1.user = t2.user
如果您需要帮助学习JOIN
语法,这里有一个很棒的visual explanation of JOINs(由Jeff Atwood编写)。
INNER JOIN
语法将返回两个表之间匹配的所有行。
如果您想添加另一个表,那么您将只包含另一个JOIN
。根据您的评论,您将使用:
select t1.user,
t1.total,
t2.total as total2,
t3.department
from table1 t1
inner join table2 t2
on t1.user = t2.user
inner join table3 t3
on t1.user = t3.user