通过分组将两张表简单地连接起来



我有两张表(图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  

最新更新