在SQL中执行包含select语句
假设我有一列包含一些字符串。我需要的是获取用户输入,并在包含用户输入文本的行上执行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