- 締切済み
PL/SQL グループ化について
こんにちは。 現在以下のようなソースが存在するのですが、以下beforeのgroup byに設定している「D」をグループ化の対象外にしなければなりません。 ただし、「D」はSELECT対象であり、かつデータが文字型であり、集計関数の使用対象外(使用した場合に意図した結果とならない)などといった事情があり、単純にgroup by句から外すという対応ではうまくいきません。 誠に恐縮ですが、お知恵をお貸しいただけませんでしょうか? 【before】 ----------------------------------------------------- INSERT INTO 出力テーブル ( A , B , C , D ) SELECT MIN(テ1.A) AS 別名A, MAX(テ1.B) AS 別名B, MAX(テ1.C) AS 別名C, テ1.D FROM テーブル1 テ1 WHERE EXISTS ( SELECT 0 FROM テーブル2 テ2 JOIN テーブル3 テ3 ON テ2.A = テ3.A WHERE テ1.C = テ2.C HAVING SUM(DECODE(テ3.G,'Yes',0,1)+DECODE(テ3.H,'Yes',0,1)) = 0 ) GROUP BY テ1.A, テ1.B, テ1.C, テ1.D ; ←ここを外したいです -----------------------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yamada_g
- ベストアンサー率68% (258/374)