2013-04-08 97 views
0

我在我的網站中使用了php。在這裏,我想以匹配逗號分隔值的方式獲取記錄。請閱讀下面的示例
我有兩個表。
從表格中提取逗號分隔值的記錄

  1. 表1說用戶,其中有一個列名說itemcode

    例如:

    id = 1 itemcode =3,10

  2. 表2說itemsList,其中人等有itemcode字段

    例如:

    id=1 itemcode= 1,3,7,5, 
    id=2 itemcode= 4,9,10 
    id=3 itemcode= 1,3,10,11 
    id=4 itemcode 2,3,7,10 
    id=5 itemcode 1,2,8,9 
    

我需要顯示所有從itemsList表,該表具有itemcode 3 or 10

即需要IDS = 1,顯示記錄的記錄,2,3,4

+3

**不要**將逗號分隔值存儲在數據庫中。 – 2013-04-08 10:36:36

+0

您可以使用FIND_IN_SET(http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_find-in-set),但規範化數據庫會更好;特別是因爲在這種情況下你必須使用兩次(對於你想要的兩個值中的每一個來說一次) – 2013-04-08 10:38:36

回答

0

你可以使用FIND_IN_SET功能:

SELECT * 
FROM yourtable 
WHERE 
    FIND_IN_SET(3, itemcode) OR 
    FIND_IN_SET(10, itemcode) 

請參閱小提琴here