2011-10-10 111 views
1

我有標量函數,它將整數作爲參數並返回一個整數。我試圖通過傳遞一個參數作爲SELECT語句,它看起來像使用此功能:將select語句作爲參數傳遞給SQL中的標量函數

select dbo.scalarFunc(select si.ID from table1 si where version = 9)

它不會讓我這樣做。我嘗試投射,但仍然沒有工作。任何人都可以告訴我,如果我可以使用內部選擇這樣或不是?

+0

注意'si'是在查詢一個未定義的別名.. –

回答

2

我覺得寫這個的好方法是:

select dbo.scalarFunc(table1.ID) from table1 where version = 9 

如果你以後要使用它:

select * from table2 where ID = (select dbo.scalarFunc(table1.ID) from table1 where version = 9) 
+0

如果你想稍後使用它,我建議首次將它捕獲到變量中。 –

相關問題