我有一個客戶表像CUSTOMER_NAME和customer_category如何檢查在MySQL查詢值ISEXIST或不
顧客羣保存,如 「23 | 24 | 56 | 12 | 45 |」 (類別ID)
樣品表值
CUSTOMER_NAME customer_category
蘋果34 | 23 | 12 |
橙色24 | 12 | 23 |
檸檬13 | 56 | 89 |
我要過濾像CATEGORY_ID類別= 12
所以我的結果會像蘋果和Orange
我有一個客戶表像CUSTOMER_NAME和customer_category如何檢查在MySQL查詢值ISEXIST或不
顧客羣保存,如 「23 | 24 | 56 | 12 | 45 |」 (類別ID)
樣品表值
CUSTOMER_NAME customer_category
蘋果34 | 23 | 12 |
橙色24 | 12 | 23 |
檸檬13 | 56 | 89 |
我要過濾像CATEGORY_ID類別= 12
所以我的結果會像蘋果和Orange
如果你的數據庫是
customer_name customer_category
Apple 34|23|12|
Orange 24|12|23|
Lemon 13|56|89|
和過濾類別像CATEGORY_ID = 12
所以儘量
SELECT customer_name FROM myTable WHERE INSTR(customer_category,'12');
SELECT CUSTOMER_NAME FROM mytable的WHERE customer_category LIKE '%12%';
上述兩個答案(與LIKE和INSTR)有一個缺點:如果你的分類列表是'34 | 23 | 121 | 89',你可以使用'LIKE'%12%'搜索,你仍然可以找到121條目。
更好的解決方案可能是:
SELECT customer_name FROM myTable WHERE FIND_IN_SET('12', REPLACE(customer_category, '|', ',')) > 0
三江源..它的工作.. :-) – user1258544
@ user1258544它我很高興... :-) –