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はフラグであるので、彼らは唯一の私はすべてのGroupColumnのグループ化、フラグの組み合わせごとに1のための4行を返すために、これを必要とするこれまでの1か0です。SQL-Serverのリターンは、グループごとに正確に4結果
何が起きているのか、時にはその内側のセレクトから戻ってくるものはないので、何も返されません。その場合、私はそのグループの3行しか返さない。私が必要とするのは、その4行目がIDCount、SumA、およびSumBの値が0のまま返ることです。
これは明らかです。これに関する助けを前もってありがとう!
お返事ありがとう!残念ながら、私は以前と同じ結果を得ています。私はONに変更: )RES ON res.GroupColumn = W.GroupColumn とFA =私は4件の結果を得ることができる唯一の方法は、完全にこの2行を削除することでした res.FlagA とfb = res.FlagB: AND fA = res.FlagA AND fB = res.FlagB しかし、これは私に同じ結果を4回与えます。 –
私はいくつかの列/結合が乱れてしまった。それはあなたのために今働きますか? – GarethD
外側のselect文のres.GroupColumnをw.GroupColumnに変更すると、これが解決されました。この巧妙なソリューションをありがとうございました! –