2012-07-17 39 views
1

我需要查找包含存儲在表中的一組數值中的特定數字的行。我正在使用mysql的WHERE IN()函數,但是我遇到了正確格式的問題。準備用於IN()子句中的mysql行

基本上我有以下查詢:

SELECT id,category, text 
FROM ws_cat 
WHERE '11' IN (category) 

類別字段爲VARCHAR,看起來像下面這樣:

id category 
1  11 
2  12,11 
3  1,13,9 

所以我需要找到ID爲1和2的行這個案例。不幸的是,它不工作,我猜這是因爲缺少引號,但所有與QUOTES()重新格式化或只是將category格式更改爲'12','11'之類的想法也不起作用。雙方會爲我是可能的,只要它的作品...

回答

1

使用FIND_IN_SET功能:

SELECT id, category, text 
    FROM ws_cat 
    WHERE FIND_IN_SET('11', category) <> 0;