0
SELECT COUNT(ID) IDCount
, SUM(ValueA) SumA
, SUM(ValueB) SumB
, FlagA
, FlagB
, GroupColumn
FROM
( SELECT w.ID
, x.ValueA
, x.ValueB
, y.FlagA
, y.FlagB
, w.GroupColumn
FROM tableW w
LEFT JOIN tableX x ON w.ID = x.ID
LEFT JOIN tableY y ON w.ID = y.ID
WHERE w.SomeColumn = SomeValue
) res
GROUP BY res.GroupColumn, res.FlagA, res.FlagB
ORDER BY res.GroupColumn, res.FlagA DESC, res.FlagB DESC
FLAGA和FLAGB爲標誌,所以他們只遇上1或0。我需要這個返回4行,每GroupColumn分組,一爲標誌的每個組合。SQL-服務器恰好返回每組4個結果
現在發生的事情是,有時候沒有什麼東西會從內部選擇回來,所以它不會返回任何東西。在那種情況下,我只能爲該組取回3行。我需要的是第四行返回IDCount,SumA和SumB的0值。
希望這是明確的。提前感謝您的幫助!
感謝您的回覆!不幸的是,我得到了和以前一樣的結果。我改變了ON到: )RES ON res.GroupColumn = W.GroupColumn 和FA = res.FlagA 和FB = res.FlagB 我能得到4個結果的唯一方法是完全刪除這兩條線: AND fA = res.FlagA AND fB = res.FlagB 但是,這隻給了我四次相同的結果。 –
我有一些列/連接搞砸了。它現在對你有用嗎? – GarethD
將外部select語句中的res.GroupColumn更改爲w.GroupColumn爲我解決了這個問題。非常感謝你爲這個聰明的解決方案! –