我需要一個SQL查詢來處理複雜的SELECT。假設如下表:SQL查詢從3個選項中選擇,並根據列值從其他表中選擇
Table 1: Table 2: name | email | callingcardid id | name | email -------|------------|-------------- ---|--------|---------------- first | [email protected] | null 1 | second | [email protected] second | | 1 third | | null
輸出應該是:
name | email -------|----------- first | [email protected] second | [email protected] third | -
查詢應該是這樣的
SELECT table1.name, COALESCE(NULLIF(table1.email, ''),
CASE WHEN table1.callingcardid != NULL
THEN (SELECT table2.email WHERE id = table1.callingcardid) ELSE '-' END) "email"
語法顯然是錯誤的,因爲我不能得到它工作。還有一些其他列的連接來自其他表,但除此之外它可以工作。 CASE
條款是問題製造者。
數據庫是Microsoft SQL Server 2008(或2012)。
哪裏是你的加入呢?。你能否提供完整的SQL查詢? –
否FROM子句? – jarlh