是否可以在t-sql查詢中的FROM子句中使用CASE? 例如:FROM子句中的CASE
SELECT *
FROM CASE
WHEN column_ = 'firstColumn'
THEN table_ t, firstTable fT
ELSE table_ t, secondTable sT
是否可以在t-sql查詢中的FROM子句中使用CASE? 例如:FROM子句中的CASE
SELECT *
FROM CASE
WHEN column_ = 'firstColumn'
THEN table_ t, firstTable fT
ELSE table_ t, secondTable sT
謝謝大家對您的輸入。我真的結束了類似於Quassnoi的建議:
SELECT *
FROM table_ t, firstTable fT
UNION
SELECT *
FROM table_ t, secondTable sT
我不知道我在想什麼。我應該早點明白這一點。
SELECT *
FROM mytable t
CROSS APPLY
(
SELECT *
FROM firstTable ft
WHERE t.column = 'firstColumn'
AND ft.id = t.joincolumn
UNION ALL
SELECT *
FROM secondTable st
WHERE (t.column <> 'firstColumn' OR t.column IS NULL)
AND st.id = t.joincolumn
) q
我站好了。 :-) +1,但我很高興我不會和你一起工作,如果你做這樣的事情。 ;-) –
@KenWhite:與知道「CROSS APPLY」的人一起工作有什麼不好? :) – Quassnoi
只要你知道如何使用它*非常*明智地知道它沒有錯。 :-) –
不,它不是! – Mithrandir