MySQL显示两个表之间的最佳匹配

时间:2014-08-17 19:33:51

标签: mysql sql

我在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个苹果。

你们有什么想法我应该如何处理这个?

亲切的问候,

0 个答案:

没有答案