2013-06-27 114 views
0

我有一個例程,它返回特定郵政編碼的這麼多英里內的郵政編碼列表。我可以調用程序,並得到結果列表:Where函數匹配結果

CALL Location.GetNearByZipCodes(28078,5);

結果集:

28031,28070,28078,28205

我願做一個查詢,其中它選擇帶例程輸出的所有記錄作爲where子句的一部分:

select * from Location where zipcode in (Location.GetNearByZipCodes(28078,5)); 

但是,這不起作用。是否可以使用函數的結果作爲where子句的一部分?如果是這樣,那麼正確的語法是什麼?

以上選擇查詢失敗:

錯誤代碼1305:Location.GetNearByZipCodes不存在。

在此先感謝您的幫助!

+0

show Location.GetNearByZipCodes功能 –

回答

1

試試這個:

"select * from Location where zipcode in (".Location.GetNearByZipCodes(28078,5).");" 

還要確保該函數返回用逗號, saperated郵編的字符串。

您也可以在查詢之前調用Location.GetNearByZipCodes()並將返回值存儲在變量中,然後按照您習慣的方式在查詢中使用該變量。