select AAA from X_TABLE where joken='1'
上記SQLでselectしたAAAの値がnull,bbb以外,bbbの3パターンによって
selectするものが変化するsqlを作成したいのですが上手くいきません。
AAAがnull,bbb以外の場合は SELECT 'ERR' as name FROM DUALを
AAAがbbbの場合、SELECT V1,V2,V3 FROM M_TABLE WHERE jouken = '1'
をかえします。
SELECT
CASE
WHEN
AAA is null THEN SELECT 'ERR' as name FROM DUAL
WHEN
AAA != 'bbb' THEN SELECT 'ERR' as name FROM DUAL
ELSE
SELECT V1,V2,V3 FROM M_TABLE WHERE jouken = '1'
END
FROM
X_TABLE
WHERE
joken='1';
作成した上記sqlを実行すると
ORA-00913: 値の個数が多すぎます。
というエラーがでます。
具体的にはSELECT V1,V2,V3 という本来スカラーとなる
ところが3項目selectしようとしているからというところ
まで調べました。ただし解決策がわかりません。
また、ストアドプロシージャは使いません。
業務上かなり急いでいます。
恐れいりますが解決となるSQL文を教えていただけますでしょうか。
宜しくお願いいたします。