2

是否可以在 t-sql 查询的 FROM 子句中使用 CASE?例如:

SELECT *
FROM CASE
    WHEN column_ = 'firstColumn'
        THEN table_ t, firstTable fT
    ELSE table_ t, secondTable sT
4

2 回答 2

3
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
于 2012-05-31T20:40:43.193 回答
1

谢谢各位的意见。我实际上结束了类似于 Quassnoi 建议的事情:

SELECT *
FROM table_ t, firstTable fT

UNION

SELECT *
FROM table_ t, secondTable sT

我不知道我在想什么。我应该早点想出来的。

于 2012-06-04T04:28:58.070 回答