CASE语句使用2个不同的列

Bul*_*bul 1 sql sql-server-2012

有人可以帮我解决下面的代码吗?

CASE Table1.Column1   
                WHEN 'a' THEN '1'
CASE Table2.Column2 
                WHEN 'b' THEN '2'
                WHEN 'c' THEN '3'

                ELSE '4'
    END AS [Test],
Run Code Online (Sandbox Code Playgroud)

我试图从Table1.Column1和Table2.Column2列中的一个新列(Test)中获取值.谢谢.

Har*_* CO 8

还有另一种CASE处理方式:

CASE WHEN Table1.Column1 = 'a' THEN '1'
     WHEN Table2.Column2 = 'b' THEN '2'
     WHEN Table2.Column2 = 'c' THEN '3'
     ELSE '4'
END AS [Test],
Run Code Online (Sandbox Code Playgroud)

此格式还允许多种条件,如:WHEN a.col1 = 1 AND b.col1 = 2 THEN 'something',这可能会有所帮助.