在我的数据库中我有2个表。
表格1
我有ID
和NAMES
表2
我有ID
,IDASSOCIATION
,QUANTITY
所以 我在table1中有2个名字: 约翰和汤姆
并且在表2中我有3个lignes 约翰,1 汤姆,1 约翰,1
nombre one是数量
在我的结果中我想要
约翰= 2 和汤姆= 1所以我这样做:
sql =“SELECT t1。*,t2.IDASSOCIATION,(SELECT SUM(t2.id_qte)FROM associationdepotarticle t2 WHERE t1.fusiontable = t2.fusiontable GROUP BY t2.IDASSOCIATION)as id_qte FROM articletable t1,associationdepotarticle t2”;
但我不明白:
约翰= 2 汤姆= 1 为什么?我会做什么,我需要纠正答案 0 :(得分:0)
您可以join
同时使用sum
:
select t1.name, sum(t2.quantity)
from table1 t1
join table2 t2 on t1.id = t2.idassociation
group by t1.name
从您的示例数据中加入的内容并不完全清楚,但我认为它是idassociation
字段。如果您想在table1
中退回那些不在table2
中的名称,请使用outer join
。