質問
名前付きの項目を合計する必要があるフィールドが1つあります ただし、そのフィールドはグループ a または b の一部にすることができます 最後に、グループaとグループbのすべての項目を合計する必要があります
グループ化とは、別のテーブルへの LEFT OUTER JOIN があり、前のテーブルには項目のタイプがあり、結合されるテーブルにはこの項目タイプに割り当てられたグループがあることを意味します。
申し訳ありませんが、SQL については少し初心者です。返信していただいたことを試してみるつもりです。
OK、私たちは近づいているような気がします。まだアラインはできませんが、それらを分離することはできますが、問題は両方のグループを同じ行で合計する必要があります。これは、いくつかのLEFT OUTER JOINも関係しているため、困難です。
タイラーのものもうまくいきそうなので、急いで解決しようとしています
アランのやり方が良いようですが、もう少し調整する必要があります
解決
もしかしたら、あなたが求めていることの複雑さを理解していないかもしれませんが...これはすべきではないでしょうか?
SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname
そして、項目が a または b のどちらに属するかを気にしない場合は、次のようになります。
SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
他のヒント
次のようなものが欲しいです
SELECT column,SUM( column ) FROM table GROUP BY column
それ(タイラーの答え)が質問の意味なのか、それとも単にこれなのか。
SELECT sum(item), groupingField FROM someTable GROUP BY groupingField
あるいは:
SELECT count(*), item FROM someTable GROUP BY item
次のような結果が生成されます。
sum(item) | groupingField
-------------+-----------------------
71 | A
82 | B
質問者さん、どちらのことを言いたかったのか、それとも私が単純化しすぎているのか、明確にしていただけますか。
これを試して:
SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]
所属していません StackOverflow