1

使用下面的sql語句從表格字段中獲取最後填充的列,但沒有得到它的工作。用於檢索最後一個填充列值的SQL語句

select 
    iif(isnull(AppBy11,true), 
    iif(isnull(AppBy10,true), 
    iif(isnull(AppBy9,true), 
    iif(isnull(AppBy8,true), 
    iif(isnull(AppBy7,true), 
    iif(isnull(AppBy6,true), 
    iif(isnull(AppBy5,true), 
    iif(isnull(AppBy4,true), 
    iif(isnull(AppBy3,true), 
    iif(isnull(AppBy2,true), "", AppBy2), AppBy3), AppBy4), AppBy5), AppBy6), AppBy7), AppBy8), AppBy9, AppBy10), AppBy11) as Result 
from entry 

enter image description here

是否有這閃電般的速度工作,以到達預期結果的任何其他方法?我將運行600萬條數據的查詢。

回答

4

利用COALESCE (Transact-SQL)。它將返回列表中的第一個NOT Null列值。

SELECT COALESCE(AppBy11, AppBy10,AppBy9,AppBy8,AppBy7,AppBy6,AppBy5,AppBy4,AppBy3,AppBy2,AppBy1) as Result 
FROM entry 
+1

哇這麼簡單,高效。非常感謝:) – Sixthsense

+0

高興地幫助:) –

相關問題