質問

名前付きの項目を合計する必要があるフィールドが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]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top