質問: BUM.グループコード group by GRP.グループコード order by GRP.グループコード このコードのようにサブクエリによる結合をしたいですが、うまく表示されません ↓ グループコード,店舗997の売上売価,店舗998の売上売価,店舗999の売上売価 NULL 694.00 NULL NULL 0001 47162.00 NULL NULL 0003 90980.00 NULL NULL 0004 61136.00 NULL NULL 0005 23659.00 NULL NULL 0006 13819.00 NULL NULL 0007 19187.00 NULL NULL 0008 86637.00 NULL NULL 0009 40476.00 NULL NULL 0010 30813.00 NULL NULL 0011 8831.00 NULL NULL 0012 NULL NULL NULL 0013 81441.00 NULL NULL 0014 67821.00 NULL NULL 0015 23294.00 NULL NULL 0016 1690.00 NULL NULL 0017 23659.00 NULL NULL この結果の店舗998,999のNULLの部分を正しいものを表示させたいです。 ### 試したこと 上のコードのJOINや結合条件をいろいろいじってみましたがうまくいきません。 店舗コードをばらばらに表示するのはうまくいきます。 どうか皆様のお力をお貸しください。
回答: select s1.グループコード, SUM(s1. 売上売価) AS 店舗997の売上売価, SUM(s2. 売上売価) AS 店舗998の売上売価, SUM(s3. 売上売価) AS 店舗999の売上売価 from (select GRP.グループコード, SYODAY.店舗コード , sum(SYODAY.売上売価) as 売上売価 from SYODAY left join SYO on SYO.店舗コード = SYODAY.店舗コード and SYO.商品コード = SYODAY.商品コード left join CLS on CLS.店舗コード = SYO.店舗コード and CLS.クラスコード = SYO.クラスコード left join BUM on BUM.店舗コード = CLS.店舗コード and BUM.部門コード = CLS.部門コード left join GRP on GRP.店舗コード = BUM.店舗コード and GRP.グループコード = BUM.グループコード where 日付 = '20141126' and SYODAY.店舗コード = '997' and not GRP.グループコード = 'NULL' group by GRP.グループコード,SYODAY.店舗コード ) as s1 left join(select GRP.グループコード, SYODAY.店舗コード , sum(SYODAY.売上売価) as 売上売価 from SYODAY left join SYO on SYO.店舗コード = SYODAY.店舗コード and SYO.商品コード = SYODAY.商品コード left join CLS on CLS.店舗コード = SYO.店舗コード and CLS.クラスコード = SYO.クラスコード left join BUM on BUM.店舗コード = CLS.店舗コード and BUM.部門コード = CLS.部門コード left join GRP on GRP.店舗コード = BUM.店舗コード and GRP.グループコード = BUM.グループコード where 日付 = '20141126' and SYODAY.店舗コード = '998' group by GRP.グループコード,SYODAY.店舗コード ) as s2 on s1.グループコード = s2.グループコード left join(select GRP.グループコード, SYODAY.店舗コード , sum(SYODAY.売上売価) as 売上売価 from SYODAY left join SYO on SYO.店舗コード = SYODAY.店舗コード and SYO.商品コード = SYODAY.商品コード left join CLS on CLS.店舗コード = SYO.店舗コード and CLS.クラスコード = SYO.クラスコード left join BUM on BUM.店舗コード = CLS.店舗コード and BUM.部門コード = CLS.部門コード left join GRP on GRP.店舗コード = BUM.店舗コード and GRP.グループコード = BUM.グループコード where 日付 = '20141126' and SYODAY.店舗コード = '999' group by GRP.グループコード,SYODAY.店舗コード ) as s3 on s1.グループコード = s3.グループコード group by s1.グループコード 0001 47162.00 NULL 221761.00 0003 90980.00 742.00 311382.00 0004 61136.00 22624.00 224474.00 0005 23659.00 1838.00 91251.00 0006 13819.00 3738.00 39771.00 0007 19187.00 3599.00 28180.00 0008 86637.00 32522.00 280208.00 0009 40476.00 NULL 8272.00 0010 30813.00 3954.00 79309.00 0011 8831.00 NULL 35958.00 0013 81441.00 NULL 234175.00 0014 67821.00 5118.00 170795.00 0015 23294.00 3078.00 7114.00 0016 1690.00 900.00 45018.00 0017 23659.00 4800.00 103056.00 これで表示したいことができました