2017-03-11 57 views
0

我表宣傳片,與現場store_id_list(VARCHAR)。我想在這裏實現什麼是我想要這個宣傳片能可分成多個店1點的記錄,而不是使用多個記錄,該store_id_list值是由逗號分隔STORE_ID的列表(例如:1,4,5,7)如何從字符串部分精確值在表中的字段的MySQL

現在,我想表宣傳片的記錄,在那裏我有一個STORE_ID值,例如:STORE_ID = 5我怎麼能做到這一點在MySQL?我可以在單個查詢中做到嗎?如果使用則更有可能像我可以得到15或45,而不是5

回答

1

我的建議是規範化你的表,並且每個商店/促銷有一個數據庫記錄。不過,這是可以做到這樣的:

請確保您有在列值的開頭和結尾逗號,像這樣:

store_id_list : ,1,4,5,7, 

,然後查詢是這樣的:

... where store_id_list like '%,5,%' 
+0

太棒了!謝謝 – Gabriel

0

我認爲你正在尋找FIND_IN_SET功能。例如:

SELECT * FROM tbl WHERE FIND_IN_SET('5', store_id) > 0; 
+0

FIND_IN_SET應該超過1個字符串,但我的問題是在1個字符串中,所以我不能使用此,但無論如何感謝! – Gabriel

相關問題