我有一个包含3列的表
id user food
1 Sam Apple, Banana, Orange
2 Beni Apple, Jam, Orange
3 Nancy Apple, Banana, Orange
在“食物”栏中,香蕉存在于第1行和第3行。如何在食物栏中的食物(香蕉)相同时获取行号。
谢谢!
答案 0 :(得分:1)
使用以下查询
SELECT id FROM DATABASE_NAME
WHERE food="Banana";
答案 1 :(得分:0)
在最基本的级别,您可以使用LIKE
:
SELECT id FROM DATABASE_NAME WHERE food LIKE "%Banana%";
但这不会阻止像Apple,Banana cake,Orange"而是出现了。您应该考虑将食物存放在不同的表中并改为创建JOIN。
TABLE用户:
id user
1 Sam
2 Beni
3 Nancy
TABLE userfood:
id userid food
1 1 Apple
2 1 Banana
3 1 Orange
4 2 Apple
5 2 Jam
6 2 Orange
7 3 Apple
8 3 Banana
9 3 Orange
现在我们可以创建一个更好的查询:
SELECT user.id
FROM user
JOIN userfood ON userfood.userid = user.id
WHERE food = 'Banana'
现在您已拥有用户ID,并且可以轻松(并且可靠地)搜索您想要的任何食物。