比如我现在有一个表:
负责人 类型 金额
A 1 100
B 1 555
A 2 655
现在要统计出一个这样的表:
负责人 金额(用类型1减去2后得出的)
A XXX
B XXXX
按负责人来进行统计,sql语句怎么写?
那个上面是一个表,表中有若干负责人(可能会出现重复的),现在是要统计出一个按照负责人来统计他们根据类型1减去类型2后的金额
追答SELECT A.负责人,A.金额-B.金额
FROM (SELECT 负责人,类型,SUM(金额) AS 金额 FROM 表 GROUP BY 负责人,类型) A JOIN (SELECT 负责人,类型,SUM(金额) AS 金额 FROM 表 GROUP BY 负责人,类型) B ON A.负责人=B.负责人
WHERE A.类型=1 AND B.类型=2
有个问题,如果负责人只有类型1没有类型2或者相反,会查不出来
追答SELECT ISNULL(A.负责人,B.负责人) 负责人,ISNULL(A.金额,0)-ISNULL(B.金额,0)
FROM (SELECT 负责人,类型,SUM(金额) AS 金额 FROM 表 GROUP BY 负责人,类型) A FULL JOIN (SELECT 负责人,类型,SUM(金额) AS 金额 FROM 表 GROUP BY 负责人,类型) B ON A.负责人=B.负责人
WHERE A.类型=1 AND B.类型=2