搜索查询以返回查询中包含每个结果中的所有项目的结果

时间:2015-06-12 17:43:03

标签: mysql search logic

我正在建造一台鸡尾酒机&使用Absolut API作为成分/饮料。

目的是选择机器中安装的所有成分并将它们添加到数据库中(此部分已经完成)。

然后我想查询API以返回所有可以制作的鸡尾酒。例如。如果有6种成分,那么我希望它能够回收可以用这6种(或更少)成分制成的鸡尾酒。

问题是 - API只允许和操作员搜索ingredient1 AND ingredient2 AND ingredient3等......只会返回包含所有这些成分的结果。

如何退回可能的鸡尾酒清单?

我考虑过尝试所有组合,但最多可以达到6个!查询..

1 个答案:

答案 0 :(得分:0)

在生成IN运算符之前,似乎没有办法实现此目的。

但是,而不是6!阶乘查询我建议只查询6次。

第一种成分只需drinks/with/ingredient_id/。然后第二次做drinks/with/ingredient_id/not/1,2,3,4(即你从第一个查询得到的ID)。

现在你的数据集只是检查每种饮料的成分数组是否包含你的清单中的东西。

这是我看到的唯一可以获得良好表现的方式