Sql 如何使用GROUPBY语句联接
我有两张桌子 表aSql 如何使用GROUPBY语句联接,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有两张桌子 表a Custid prodid Amt1 1 10 200 2 20 300 3 10 400 4 30 300 5 20 400 6 30 200 表B prodid Amt2 10 100 20 200 30 300 我想按prodid计算所有金额组的总和。有人能同时给我ansi和Tsql查询吗?那怎么办?:-) 选择SUM(a
Custid prodid Amt1
1 10 200
2 20 300
3 10 400
4 30 300
5 20 400
6 30 200
表B
prodid Amt2
10 100
20 200
30 300
我想按prodid计算所有金额组的总和。有人能同时给我ansi和Tsql查询吗?那怎么办?:-)
选择SUM(a.Amt1),SUM(b.Amt2)FROM(表a作为内部连接表b作为内部连接表b a、 prodid=b.prodid)
按a.prodid分组 那怎么办?:-) 选择SUM(a.Amt1),SUM(b.Amt2)
FROM(表a作为内部连接表b作为内部连接表b a、 prodid=b.prodid)
按a.prodid分组
我相信这在任何地方都会奏效:
SELECT a.Custid,a.prodid,sum(a.Amt1 + b.Amt2) as AmtSum FROM TableA a JOIN TableB b ON (a.prodid = b.prodid) GROUP BY a.Custid,a.prodid;
我相信这在任何地方都会奏效:
SELECT a.Custid,a.prodid,sum(a.Amt1 + b.Amt2) as AmtSum FROM TableA a JOIN TableB b ON (a.prodid = b.prodid) GROUP BY a.Custid,a.prodid;
试试这个。。。我认为如果某些产品id不在表B中,它也会起作用
SELECT a.prodid,SUM(a.Amt1),SUM(b.Amt2)
FROM TableA AS a left outer JOIN TableB AS b ON a.prodid = b.prodid
GROUP BY a.prodid
试试这个。。。我认为如果某些产品id不在表B中,它也会起作用
SELECT a.prodid,SUM(a.Amt1),SUM(b.Amt2)
FROM TableA AS a left outer JOIN TableB AS b ON a.prodid = b.prodid
GROUP BY a.prodid
到目前为止你得到了什么?在要求别人为你解决所有问题之前先发布你的代码。为什么要使用ANSI和T-SQL查询?到目前为止你得到了什么?在要求他人为您解决所有问题之前发布您的代码。为什么需要ANSI和T-SQL查询?