2017-05-30 72 views
0

我有一個人員的數據庫,每個人可以有一個或多個國家。這些國家可以從多選下拉到db添加。 一個人也能像這樣選擇所有從哪裏有多個值的列

name country 
john USA, UK, Poland 
joe USA 
Jack Germany 

用戶可以通過改變<%=國家%> 值我試圖篩選基於用戶的選擇過濾人的人。我使用這個查詢

SELECT * 
FROM `personnel` 
WHERE <%= country %> LIKE `country` 
ORDER BY `industry` ASC, `name` ASC 

的問題是一個國家該選擇濾波器僅行(人),並且它不示人誰擁有一個以上的國家。 我試圖用=代替LIKE但一個也沒工作

+4

修復你的數據結構,所以你有一個名爲'PersonnelCountry'的表,每個人和國家一行。 –

+0

db是人員,我的不好。是的,每個人都有一行,在國家列中他們可以有一個或多個國家 – k185

+0

但最好的解決方案是按照@GordonLinoff的建議規範化表結構。 – Shadow

回答

0

您需要在LIKE句子添加LIKE '%country%'
允許搜索所有的字符串,不管之前和之後有什麼。
如果你喜歡「國家」,它只顯示單個國家的人。
歡呼聲