2016-12-01 58 views
0

从这个查询SUM值的值SQL SERVER

SELECT t1.type, t2.name, sum(t3.num) AS number, min(t1.price) AS price 
 
FROM t1 
 
JOIN t2 
 
t1.soandso = t2.soandso 
 
JOIN t3 
 
ON t2.soandso = t3.soandso 
 
GROUP BY t1.type, t2.name, t1.price

我得到的结果是

type name number price 
 
type1 name1 25  1 
 
type1 name1 35  1 
 
type1 name2 50  1 
 
type2 name3 15  1 
 
type2 name3 25  1 
 
type2 name4 25  1

我想能够输出

type name number price 
type1 name1 60  1 
type1 name2 50  1 
type2 name3 40  1 
type2 name4 25  1 

如果有事情做与子查询,请注明所发生的事情,你放置子查询的简要说明。我不是很了解子查询,就像我理解python和javascript中的循环一样。

+1

扣除了价格。 – jarlh

回答

0
;with cte as (SELECT t1.type, t2.name, t3.num, t1.price 
FROM t1 
JOIN t2 
t1.soandso = t2.soandso 
JOIN t3 
ON t2.soandso = t3.soandso) 
SELECT type, name, sum(num) AS number, min(price) AS price 
from cte 
GROUP BY type, name 

简单的方法是从GROUP BY这个

+0

会引发一个错误... – jarlh

+0

什么是错误将增加 –

+1

第二个选择总结中的总和是多少? – Roger

0
SELECT t1.type, t2.name, sum(t3.num) AS number, t1.price AS price 
FROM t1 
JOIN t2 ON t1.soandso = t2.soandso 
JOIN t3 ON t2.soandso = t3.soandso 
GROUP BY t1.type, t2.name, t1.price