如果列应该是"提取的,那么是否可以从表中引用一列?#34;来自案例陈述?
update t1
set col1 = value
from table1 t1, (select Col3, Col4 from table1) t2
where t1.(CASE
WHEN Col3 > 0 THEN Col1
ELSE Col2) = t2.(CASE WHEN Col3 > 0
THEN Col1
ELSE Col2
END)
提前感谢您的帮助!
答案 0 :(得分:0)
您可以在案例陈述中使用表别名来引用列名,例如
update t1
set t1.col1 = value
from table1 t1, (select Col3, Col4 from table1) t2
where CASE
WHEN t1.Col3 > 0 THEN t1.Col1
ELSE t1.Col2
END = CASE WHEN t2.Col3 > 0
THEN t2.Col1
ELSE t2.Col2
END
首先评估案例陈述,然后进行比较。