我有两张表(图1,2(。表1中有2列,表2中有许多列。两个表中的每个记录都有相同的ID列。我需要输出(图3(,两个表中的每一列都按ID分组。左或右连接并不重要。我只需要按ID匹配记录,并列出两个表的每一列。
谢谢。
1https://i.stack.imgur.com/1OmDT.png
2https://i.stack.imgur.com/nShTy.png
3https://i.stack.imgur.com/vLIFm.png
您可以简单地使用这个简单的查询:
select a.ID, b.name, b.code, a.quantity
from Tab1 a
inner join Tab2 b on a.ID = b.ID
group by a.ID, b.name, b.code, a.quantity
order by a.ID
你可以从这里学到更多https://www.w3schools.com/sql/sql_join.asp
select tab1.id,name,code, quantity from tab1 join tab2 using(id);
join(INNER OR LEFT(在下面的查询中会发生变化,这取决于您是需要显示ID信息,而不管您在表2中是否有任何数量(NULL或0,使用左联接(,还是只显示匹配ID的数量(INNERjoin(。
SELECT
t1.*,
SUM(t2.quantity) AS quantity
FROM
tab1 AS t1
INNER JOIN tab2 AS t2 ON t1.id = t2.id -- CHANGE THIS TO LEFT JOIN IF NEED
GROUP BY
t1.id,
t1.name,
t1.code