[シリアル]テーブルがあり、[シリアル].[メイン商品コード]と[シリアル].[サブ商品コード]という項目がある。
[商品]テーブルがあり、[商品].[商品コード]、[商品].[商品名]という項目がある。
メインもサブも同じ[商品].[商品コード]で管理している。
例:
A:りんご
B:みかん
PA:りんごセット
PB:みかんセット
[シリアル]テーブルのレコードは、[シリアル].[メイン商品コード]は必ずあるが、
[シリアル].[サブ商品コード]は空欄の場合がある。
[シリアル].[サブ商品コード]が空欄の場合は、[商品].[商品コード]と[シリアル].[メイン商品コード]で紐つけた
[商品].[商品名]を表示したいが、
[シリアル].[サブ商品コード]が空欄でない場合は、[商品].[商品コード]と[シリアル].[サブ商品コード]で紐つけた
[商品].[商品名]を表示したい。
例:[シリアル].[メイン商品コード]=A、[シリアル].[サブ商品コード]=空欄→りんご
[シリアル].[メイン商品コード]=A、[シリアル].[サブ商品コード]=PA→りんごセット
そのために、
LEFT JOIN [商品] AS 商品1 on [シリアル].[メイン商品コード] = 商品1.[商品コード] AND [シリアル].[サブ商品コード] = ''
LEFT JOIN [商品] AS 商品2 on [シリアル].[メイン商品コード] = 商品2.[商品コード] AND [シリアル].[サブ商品コード] <> ''
と結合しました。
そしてselect文には、
CASE
WHEN MAX([サブ商品コード]) = '' THEN MAX(商品1.[商品名])
WHEN MAX([サブ商品コード]) <> '' THEN MAX(商品2.[商品名])
END '商品名',
と記述しました。
そこで、select文で記述した'商品名'ごとの件数をカウントすることは可能でしょうか?
例でいうと、「りんご」、「りんごセット」ごとの件数が出したいです。
group byで、場合分けをすることは可能なのでしょうか?
group by 商品1.[商品名]、のように、片方しか指定できません・・。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/16 00:48