我想将 2 个相同的表合并到一个表中并区分用户。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 查询应该是什么样子?
您将需要列JOIN
上的表格user
:
select t1.user,
t1.total,
t2.total as total2
from table1 t1
inner join table2 t2
on t1.user = t2.user
如果您在学习JOIN
语法方面需要帮助,这里有一个很好的 JOIN 可视化解释(由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