2012-02-04 125 views
2

我有一個用戶可以從中選擇多個值的列表框。每個用戶選擇以字符串形式存儲在數據庫中(1,4,5)。每個數字代表一個listitem。問題如何檢索大多數選定的項目,通過SQL說五大部分項目?大多數選擇的列表項目

+0

因此,如果用戶選擇項目1,4,5,在數據庫中創建的行的值爲'(1,4,5)'? – Bort 2012-02-04 21:26:52

+0

是的確切.... – Roobah 2012-02-04 21:29:00

回答

1

考慮的選項,這將是更好的用戶選擇存儲在一個更精細的方式,類似的東西非常符合單選擇用戶的表。因此,如果用戶選擇555 1,4,5行會

555 1 
555 4 
555 5 

然後找出什麼被選中最會是一個簡單的計數。否則,你將不得不解析'(1,4,5)',這將是相當醜陋的。將多個值存儲在單個列中通常不是一個好主意。

+0

這意味着我會做多個插入,這裏3插入。這不是一個開銷嗎? – Roobah 2012-02-04 21:43:05

+0

如果您打算進行任何類型的數據處理/用戶選擇查詢,那麼這是非常合理的開銷。將所有內容存儲在一個列中,使得查找頂級選項變得很困難。 – Bort 2012-02-04 21:45:31

+0

謝謝Bort ... – Roobah 2012-02-04 21:57:51

0

您可以在該表中插入新的(int)列。所以你可以每次選擇 時增加這個數字。