質問: '' THEN MAX(商品1.[商品名]) WHEN MAX([サブ商品コード]) <> '' THEN MAX(商品2.[商品名]) END '商品名', と記述しました。 そこで、select文で記述した'商品名'ごとの件数をカウントすることは可能でしょうか? 例でいうと、「りんご」、「りんごセット」ごとの件数が出したいです。 group byで、場合分けをすることは可能なのでしょうか? group by 商品1.[商品名]、のように、片方しか指定できません・・。 よろしくお願いします。
回答: 下記のようにユニオンクエリにしてグループ化してカウントをとるのはどうでしょう? ``` SELECT Re.[商品名],COUNT(*) AS [件数] FROM ( SELECT [商品].[商品名] FROM [商品] INNER JOIN [シリアル] ON [商品].[商品コード]=[シリアル].[メイン商品コード] WHERE [シリアル].[サブ商品コード] = '' UNION ALL SELECT [商品].[商品名] FROM [商品] INNER JOIN [シリアル] ON [商品].[商品コード]=[シリアル].[サブ商品コード] ) AS Re GROUP BY Re.商品名 ```