2015-12-21 37 views
-2

我有以下的數據庫結構:MySQL的搜索分隔,使用PHP

id | name   | size 
------------------------- 
1 | Men's Jacket | S,M,L 
2 | Men's Jacket | M,L 
3 | Men's Jacket | S 

我想要得到的結果與size中號僅

我知道該怎麼做,使用PHP的explode() & foreach(),但它需要太多的內存10k +產品。

+4

然後修復您的數據庫結構並對其進行規範化處理,從而使問題無法解決。 –

+0

使用'FIND_IN_SET' – splash58

+0

尺寸表:prod_id,尺寸。 1 | S,1 | M,1 | L,2 | M等 – 2015-12-21 21:50:18

回答

-1

要獲得唯一的M的結果:(例如 'M')

更新您的SQL使用其中where size = "M"

子句要得到的結果是使用M:(例如「M 」, 'S,M', 'S,M,L', 'M,L')

更新您的SQL中使用的where size like "%M%"

+0

這個答案有什麼問題? –

-1

where子句我剛剛瞭解了MySQL的find_in_set()功能:

SELECT * FROM products WHERE find_in_set('M', size)<>0