1

.mdb ファイルに対して次のクエリを使用すると、次の結果が得られます。

SELECT tableA.id, tableA.type, tableA.date, SUM(tableA.val) AS total, tableB.SumB
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id
GROUP BY tableA.id, tableA.type, tableA.date, tableB.SumB ;

結果:

ここに画像の説明を入力

type同じandを持つレコードのグループから最初のレコードだけが必要dateです。

私は使用しますDISTINCTが、問題は別のフィールドがあることです(この例ではid)。

助言がありますか?

ありがとう

PS ケース 2:

赤のレコードの ID は同じですが、文字列値が異なる「名前」列が追加されています。

4

1 に答える 1

3

id の最小値を使用し、それを Group by 句から削除します

SELECT min(tableA.id) as id, tableA.type, tableA.date, 
SUM(tableA.val) AS total, tableB.SumB 
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id 
GROUP BY tableA.type, tableA.date, tableB.SumB ; 
于 2012-07-24T08:04:35.720 に答える