我在mysql中遇到了一个挑战,我真的是一个关于这个主题的完整新秀,不过就这样了。
我尝试制作一个应用程序,让用户输入他们在家中的成分,然后给出用户可以制作的所有食谱的回复。
我有两张桌子。
配方 ID - 名称 - 描述
和
ingre ID - 名称
到目前为止,我的sql看起来像这样:
CREATE TEMPORARY TABLE TempTable(
ID INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
searchword VARCHAR( 255 )
);
INSERT INTO TempTable( searchword ) VALUES ('carrot'),('potato');
SELECT * FROM ingre, TempTable
WHERE ingre.name LIKE concat('%', TempTable.searchword, '%');
我的想法是从食谱表中制作COUNT,以查看特定食谱需要多少成分,并通过该回复列出"最佳匹配"。
更清楚:
如果上面例子的食谱需要1个胡萝卜,1个土豆和1个洋葱,我们知道我们满足66%的食谱,这个结果应该显示在需要1个胡萝卜,1个土豆,1个洋葱的食谱上方和1个苹果。
你们有什么想法我应该如何处理这个?
亲切的问候,