2013-04-13 43 views
0

我正在嘗試編寫報告查詢,以提示報告的用戶輸入值的數組。我嘗試使用類似的東西:提示用戶輸入多個值(並在查詢中使用結果)

SELECT  class_style_view.Course_Code 
FROM   class_style_view class_style_view_1.Course_Code 
WHERE  (class_style_view.Course_Code IN ([email protected]) 

我不知道我該怎麼做/應該寫這個。我想讓提示符出現在我的報告中,並能夠放入類似這樣的東西:('41229','65002','65435','64059'),所以我可以用變量查詢表中的所有項目設置Course_Code值。

回答

1

通常的方法是首先創建一個包含用戶所有潛在選項的數據集。舉個例子,這可能是:

SELECT DISTINCT class_style_view.Course_Code FROM class_style_view 

然後設置一個參數來提示用戶。確保將該參數設置爲「允許多個值」。將可用值設置爲來自查詢並選擇剛創建的數據集。現在

您可以設置使用該參數的查詢:

SELECT * FROM class_style_view where Course_Code in (@MyParameterName) 

沒有給出一個下拉到用戶,我不知道你是否能得到他們直接進入到一個數組的參數。你可以解析他們輸入的字符串,用逗號分隔它,但給他們下拉是容易的,並且是一個體面的用戶界面。

+0

下拉列表中會列出超過90,000個項目。我不知道如何解析出字符串。 –

+0

有許多方法可以解析SQL中的逗號分隔字符串,例如http://stackoverflow.com/questions/5738834/how-to-parse-a-comma-delimited-string-of-numbers-into-a-臨時或刪除表 但是如果你可以打破90K項目,那麼你可以給幾個下拉菜單,也許第一個允許他們選擇一個部門或日期範圍,或類前綴,然後第二個下拉菜單可能的選擇。 –

相關問題