1

このようなテーブル (tbl1) がありますが、「ストア 3」の販売額が正しくありません。

**date      store       sale**
Mar, 2013   store 1     100
Apr, 2013   store 1     80
Mar, 2013   store 2     70
Mar, 2013   store 3     125
Apr, 2013   store 3     80

正しい金額は別の表 (tbl2) にあります。

**date      store       sale**
Mar, 2013   store 3     140
Apr, 2013   store 3     170

ここで、以下のような結果を生成するクエリを作成する必要があります。

**store     total_sale**
store 1     180
store 2     70
store 3     310

CASE ステートメントのさまざまな書き方を試しましたが、合計が間違っています。コミュニティから助けを得ることを期待して、ここで実際の質問を単純化しました。ありがとうございました!

4

1 に答える 1

2

これを試してみてください。

SELECT  a.Store,
        COALESCE(c.TotalSale, b.TotalSale) AS TotalSale
FROM    (SELECT DISTINCT Store FROM Table1) a
        INNER JOIN
        (
            SELECT  Store, SUM(sale) TotalSale
            FROM    Table1
            GROUP   BY Store
        ) b ON a.Store = b.Store
        LEFT JOIN
        (
            SELECT  Store, SUM(sale) TotalSale
            FROM    Table2
            GROUP   BY Store
        ) c ON a.Store = c.Store
于 2013-05-10T07:20:13.613 に答える