0
我有這樣的SQL:sql查詢連接上的情況下,多個表時列
select case when.....end as colA, table2.col3
from table1
join table2 on table2.colB = colA
的情況下
時聲明,還有一些其他的表中的列,這是可行的?我有錯誤表示colA無效。
我有這樣的SQL:sql查詢連接上的情況下,多個表時列
select case when.....end as colA, table2.col3
from table1
join table2 on table2.colB = colA
的情況下
時聲明,還有一些其他的表中的列,這是可行的?我有錯誤表示colA無效。
列別名在where
或on
條款中不能理解。
你可以用一個子查詢做到這一點,假設case
僅涉及列從table1
:
select case when.....end as colA, t2.col3
from (select table1.*, (case when.....end) as colA
from table1
) t1 join
table2 t2
on t2.colB = t1.colA;
否則,你可以把case
語句on
子句中:
select case when.....end as colA, t2.col3
from (select table1.*, (case when.....end) as colA
from table1
) t1 join
table2 t2
on t2.colB = (case when.....end);