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 に答える