如何编写这个T-SQL WHERE条件?

时间:2009-11-16 13:35:55

标签: tsql

我有两张桌子:

TableA
    Col1
    Col2
TableB
    Col3
    Col4

我想和他们一起加入:

SELECT * from TableA join TableB ON (...)

现在,代替...,我需要编写一个计算结果为:

的表达式
  1. 如果Col3不为null,则为真iif Col1 == Col3;否则
  2. 如果Col3为null,则为真iif Col2 == Col4
  3. 这样做最优雅的方法是什么?

2 个答案:

答案 0 :(得分:4)

ON (Col1=Col3 OR (Col3 IS NULL AND Col2=Col4))

应该做的伎俩(如果Col3为空,Col1 = Col3无法评估为TRUE)

答案 1 :(得分:0)

试试这个:

SELECT * 
FROM TableA 
JOIN TableB 
   ON Col1 = Col3
      OR (Col3 IS NULL AND Col2 = Col4)