2014-03-19 37 views
0

我卡在这个查询中。我必须做一个SUM值和一个SUM值来得到Total。有人能帮我解决这个问题吗?与一个SUM中的SUM卡住

这里兽:

Select 
    K.Id, 
    K.Price1, 
    K.Price2, 
    SUM(H.Price3) as "Idontwork", 
    K.Price4, 
    K.Price5, 
    K.Price6, 
    SUM(K.Price1,K.Price2,H.Idontwork) as FirstTotal, 
    SUM(K.Price4,K.Price5,K.Price6) as SecondTotal, 
    SUM(K.Price1,K.Price2,H.Idontwork)-SUM(K.Price4,K.Price5,K.Price6) as FinalTotal, 
FROM TABLE1 K, TABLE2 H 
WHERE K.ID=H.ID 
GROUP BY 
    K.Id,K.Price1,K.Price2,K.Price4,K.Price5,K.Price6; 

我如何使用SUM在SUM?可能吗? 我认为FinalTotal不是让你有一些建议的最佳方式吗?

预先感谢,

+1

我不知道你想做什么?做你的意思只是'SUM(K.Price1 + K.Price2 + H.Idontwork)as FirstTotal'等等。 SUM()是一个聚合函数,你似乎希望在其中加入简单的加法,而不是另一个聚合级别;你会分组什么? –

回答

2

正如你在表KI列编组相信它是这样的

Select K.Id, 
    K.Price1, 
    K.Price2, 
    SUM(H.Price3) as "Idontwork", 
    K.Price4, 
    K.Price5, 
    K.Price6, 
    K.Price1+K.Price2+SUM(H.Price3) as FirstTotal, 
    (K.Price4+K.Price5+K.Price6) as SecondTotal, 
    (K.Price1+K.Price2)+SUM(H.Price3)-(K.Price4+K.Price5+K.Price6) as FinalTotal, 
FROM TABLE1 K, TABLE2 H 
WHERE K.ID=H.ID 
GROUP BY K.Id,K.Price1,K.Price2,K.Price4,K.Price5,K.Price6; 
+0

Thx伙计,这是工作。我不知道为什么我想要做SUM的SUM,因为它是一个单纯的加法。 – Drupal8ForTheWin