2014-04-10 19 views
0

我有一個客戶表像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

回答

0

如果你的數據庫是

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');

+0

三江源..它的工作.. :-) – user1258544

+0

@ user1258544它我很高興... :-) –

0

SELECT CUSTOMER_NAME FROM mytable的WHERE customer_category LIKE '%12%';

2

上述兩個答案(與LIKE和INSTR)有一個缺點:如果你的分類列表是'34 | 23 | 121 | 89',你可以使用'LIKE'%12%'搜索,你仍然可以找到121條目。

更好的解決方案可能是:

SELECT customer_name FROM myTable WHERE FIND_IN_SET('12', REPLACE(customer_category, '|', ',')) > 0