Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用GROUPBY语句联接_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 如何使用GROUPBY语句联接

Sql 如何使用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

我有两张桌子

表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查询?