我必须使用表格,我想用SQL-Query加入它们。它可能是世界上最简单的事情,但......好吧。
表“计数”:
-----------------------------
¦ id ¦ segment ¦ count ¦
"""""""""""""""""""""""""""""
¦ 1 ¦ fruits ¦ 0 ¦
-----------------------------
¦ 2 ¦ sweets ¦ 2 ¦
-----------------------------
表“食物”:
-------------------------------------
¦ id ¦ type ¦ segment ¦
"""""""""""""""""""""""""""""""""""""
¦ 1 ¦ banana ¦ fruits ¦
-------------------------------------
¦ 2 ¦ cranberries ¦ fruits ¦
-------------------------------------
¦ 3 ¦ strawberries ¦ fruits ¦
-------------------------------------
¦ 4 ¦ chocolate ¦ sweets ¦
-------------------------------------
¦ 5 ¦ candy ¦ sweets ¦
-------------------------------------
我想用水果和糖果装满“食物箱”。只有甜食仍然可以加入“食物盒”,因为它已经有足够的水果。
我怎样才能列出甜食(巧克力和糖果),因为水果不能再添加(水果= 0)?
到目前为止我的查询:
SELECT type.food
FROM count, food
WHERE type.food LIKE '%$query%' AND segment.food > '1'
(项目应在用户在搜索字段中输入所需项目后列出。因此我使用了LIKE。)
非常感谢任何帮助!
答案 0 :(得分:-1)
当你想加入时,应该有一个条件。 。并且您使用的别名不正确它应该是food.type
而不是type.food
因为你想匹配多个值,LIKE不会解雇你..可能find_in_set就是你想要的......
试试这个
SELECT f.type
FROM count c
join food f
on c.segment = f.segment
where FIND_IN_SET(f.segment, 'sweets,fruit') and c.count >=1
请参阅fiddle
希望它可以帮助你..答案 1 :(得分:-1)
SELECT food.type FROM count, food WHERE food.segment = count.segment AND food.type LIKE '%$query%' AND count.count > 0