11
Istnieje sposób użycia pola obliczeniowego w klauzuli where?Istnieje sposób użycia pola obliczeniowego w klauzuli where?
chcę zrobić coś jak
SELECT a, b, a+b as TOTAL FROM (
select 7 as a, 8 as b FROM DUAL
UNION ALL
select 8 as a, 8 as b FROM DUAL
UNION ALL
select 0 as a, 0 as b FROM DUAL
)
WHERE TOTAL <> 0
;
ale mam ORA-00904: "całkowita": nieprawidłowy identyfikator.
Więc muszę używać
SELECT a, b, a+b as TOTAL FROM (
select 7 as a, 8 as b FROM DUAL
UNION ALL
select 8 as a, 8 as b FROM DUAL
UNION ALL
select 0 as a, 0 as b FROM DUAL
)
WHERE a+b <> 0
;
można również użyć CTE. – onedaywhen
Próbowałem tego w procedurze przechowywanej i powyższa składnia nie działałaby, chyba że również aliasy pochodnej tabela, jak również. – DilbertDave
@DilbertDave, interesujące. Próbowałeś w Oracle? Jeśli dobrze pamiętam, SQL Server zawsze wymagał aliacji tabel pochodnych. –