看板 Database 關於我們 聯絡資訊
使用的是SQL Server 2012 我目前有一個SP,其中有一個參數, 每次固定傳進一個值(User透過UI點選想抓的資料),再由where挑出想要的資料 但User希望一次可點選多個資料(每次不固定) 簡單舉例,就像是原本表格有A~Z 26個字母 原本是每次單選出一個字母 現在想要"多選",且每次選的數量不同 請問我應該怎麼改寫此SP比較好? 最蠢的大概就是跑for loop query很多次,再加總所有資料, 但是我怎麼想也覺得應該會有更好的做法XD 只是我一時間沒有想法@@,求關鍵字,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 172.218.191.30 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1496228744.A.CB9.html
far0802: Split,用符號分隔不定量的值 05/31 19:21
meteor007: 謝謝建議,我查一下資料,新手工具太少@@ 05/31 19:37
cutekid: table schema 可以附一下嗎? 05/31 20:42
cutekid: 簡單的舉個你目前的 SQL 語法怎麼下的 05/31 20:43
cutekid: 都是文字敘述,不是很好理解XD 05/31 20:43
其實就只是像這樣 假設table有一某個column存A-Z 欄位名稱叫做Letter SP裡面 變數就一個 @letter varchar select * from table where Letter = @letter 而@letter是由ASP.NET給的 原本都是每次丟進一個@letter(單選),像是 exec sp 'B' or exec sp 'U' 但是現在想要一次丟進很多個(複選), 想改成 exec sp 同時丟進很多個字母 我的真實Table schema很雜,但是主要的目的就只是像這樣 Thx ※ 編輯: meteor007 (172.218.191.30), 06/01/2017 08:13:25
rainsstar: 用IN呢? 06/01 09:41
meteor007: IN不是沒辦法動態嗎? 我的@letter都可能不一樣多 06/01 10:29
最後,我使用了 table variable 傳到 SP SP裡面使用temp table, 並 join 結束這回合XD 總覺得繞了一圈@@ ※ 編輯: meteor007 (172.218.191.30), 06/01/2017 11:52:42 ※ 編輯: meteor007 (172.218.191.30), 06/04/2017 15:53:52