假設我有一列包含一些字符串。我需要的是獲取用戶輸入,並在包含用戶輸入文本的行上執行sql select語句。舉一個例子可以說我有一個名爲「飲料」的專欄。其中一行在飲料欄內有「茶」+「咖啡」。現在,如果用戶輸入茶或咖啡,我需要返回該行。執行此操作的最佳方式是什麼?在SQL中執行包含select語句
id ingredients drinks
1 milk,sugar tea+coffee
假設我有一列包含一些字符串。我需要的是獲取用戶輸入,並在包含用戶輸入文本的行上執行sql select語句。舉一個例子可以說我有一個名爲「飲料」的專欄。其中一行在飲料欄內有「茶」+「咖啡」。現在,如果用戶輸入茶或咖啡,我需要返回該行。執行此操作的最佳方式是什麼?在SQL中執行包含select語句
id ingredients drinks
1 milk,sugar tea+coffee
如果你需要搜索的時間內,你可以使用這樣的事情:
SELECT *
FROM yourtable
WHERE
FIND_IN_SET('tea', REPLACE(drinks, '+', ','))
,或者如果你已經知道飲料的號碼進行搜索,你可以添加一些附加條件:
WHERE
FIND_IN_SET('tea', REPLACE(drinks, '+', ',')) OR
FIND_IN_SET('coffee', REPLACE(drinks, '+', ','))
添加另一個檢查咖啡的find_in_set。 – 2013-05-12 10:11:57
@JW웃我不確定OP是否只想在一次或多次搜索一個術語......但我編輯了我的答案! TNX! – fthiella 2013-05-12 10:15:56
這是有效的。非常感謝 – user1667307 2013-05-12 10:27:21
您能以表格形式先給樣品記錄嗎? – 2013-05-12 10:08:03
增加了一個樣本記錄 – user1667307 2013-05-12 10:09:44
您的數據庫未規範化。 – 2013-05-12 10:09:58