我需要根据特定条件返回两个值中的一个:
我的不同情况是:
当一个列在右侧拥有“子字符串”时,返回该列。(即LIKE '%substring')
否则返回另一个表中的其他列。
这个方法有效:
然而,这并不起作用:
这个方法有效:
SELECT * From Table1 where col1 is not null and col1 like '%substring'
然而,这并不起作用:
SELECT col5,
CASE Table1.Col1
WHEN NULL Then Table2.Col2
WHEN '%substring' THEN Table1.Col1
ELSE Table2.Col2
FROM Table1
JOIN Tablex ON Tablex.colID= Tabley.colID
JOIN Table1 ON Table1.colID = Tablex.colID
还有一些涉及到外键的表1/表2之间的更多连接...结果总是从“else”部分返回。
我也尝试过这个,但它也不起作用:
SELECT col5,
CASE Table1.Col1
WHEN NULL Then Table2.Col2
WHEN '' THEN Table2.Col2
ELSE Table1.col1
FROM Table1
JOIN Tablex ON Tablex.colID= Tabley.colID
JOIN Table1 ON Table1.colID = Tablex.colID