sql查询在一个case-when列上联接多个表
我的sql是这样的:sql查询在一个case-when列上联接多个表,sql,join,Sql,Join,我的sql是这样的: select case when.....end as colA, table2.col3 from table1 join table2 on table2.colB = colA 在when语句的情况下,还有其他一些表列,这是否可行?我错误地说colA无效。where或on子句中不理解列别名 您可以通过子查询执行此操作,假设案例仅涉及表1中的列: 否则,您可以将case语句放在on子句中: select case when.....end as colA, t2.co
select case when.....end as colA, table2.col3
from table1
join table2 on table2.colB = colA
在when语句的情况下,还有其他一些表列,这是否可行?我错误地说colA无效。where或on子句中不理解列别名 您可以通过子查询执行此操作,假设案例仅涉及表1中的列: 否则,您可以将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 = t1.colA;
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 );