ORACLE SQLについてです。
SELECT文内で演算し、
取得したデータを取得されたデータによって分岐させたいです。
SELECT T1.aaa, T1.bbb, MAX(T1.ccc) - SUM(T2.fff) AS ENZAN, FROM table1 T1, table2 T2 WHERE T1.aaa = T2.aaa
このENZANを0未満なら0と表示し、0以上ならその演算した値で表示させたいです。
CASE文を使用して試してみましたが、様々なエラーが表示されてしまい、
うまく取得することができませんでした。
SELECT T1.aaa, T1.bbb, (CASE WHEN MAX(T1.ccc) - SUM(T2.fff) > 0 THEN MAX(T1.ccc) - SUM(T2.fff) WHEN MAX(T1.ccc) - SUM(T2.fff) <= 0 THEN 0 END AS ENZAN), FROM TABLE1 T1, TABLE2 T2 WHERE T1.aaa = T2.aaa AND T1.bbb = T2.bbb
このような記述の仕方ではダメなのでしょうか。
T1
aaa VERCAHR2 P
bbb VERCAHR2 P
ccc NUMBER
T2
aaa VERCAHR2 P
bbb VERCAHR2 P
fff NUMBER
項目数は完全一致です。
回答2件
あなたの回答
tips
プレビュー