我的表:juices
,juice_ingredients
和ingredients
。查询返回多个相同的行而不是一个
的juices
表具有属性:
- 名
- 条码
的juice_ingredients
表具有属性:
- juice_id
- ingredient_id
而且ingredients
表有
- 名
- 可选(布尔)
对于客户的物流着想各种果汁可能具有相同的条码,但不同的成分,其中一些是可选的 我需要通过条形码选择其成分中不含任选成分的单一果汁。
我签署了四种成分:水(可选:假),糖(可选:真),菠萝果肉(可选:假)和薄荷(可选:真)。并注册了四种果汁:一种只用水和菠萝果肉,另一种用水,菠萝果肉和糖,其他用水,菠萝果肉和薄荷,以及其他用水,菠萝果肉,薄荷和糖制成的果汁。全部使用相同的条形码。我提出一个查询,只选择与非选择性成分的果汁,在这种情况下,水和菠萝果肉。
SELECT *
FROM juices
INNER JOIN juice_ingredients ON (juice_ingredients.juice_id = juices.id)
INNER JOIN ingredients ON (juice_ingredients.ingredient_id = ingredients.id)
WHERE juices.barcode = '000000000001' AND ingredients.optional = false
但它返回多行。什么应该改变这个查询带来只有一个,或者果汁中不含可选成分?
你试过'DISTINCT'即像'SELECT DISTINCT .....' –
为了使它更简单明了:你希望看到不受'juice_ingredients'引用juices'的'行(你实际上只需要看到给定的条形码,你期望只是这个ki中的一个ND。但是,我对我的简化是否正确?如果是这样,请发布“果汁”和“juice_ingredients”的完整定义。) –