我正在尝试允许将多种成分添加到一个配方中,但是我想将所有成分收集到一个配方中(如果您正在检查可用于一种成分中的项目)。我希望这是有道理的。
reciple_rel中的create_id是要查找哪个食谱应创建的项目。
recipes Table recipe_rel table
Recipe_id | item_needed_id | item_amount recipe_id | create_id
----------------------------------------- ---------------------
1 | 5 | 3 1 | 12
----------------------------------------- ---------------------
1 | 2 | 2 2 | 18
----------------------------------------- ---------------------
2 | 8 | 1
-----------------------------------------
2 | 3 | 1
因此,为了澄清我的问题,一件物品可能是煤炭-因此,如果我要查看库尔,我想看看我能用煤炭创造什么。
我试图做类似的事情
SELECT * FROM recipe WHERE item_needed_id = 2
我还尝试从我选择的那个食谱中获取食谱ID并使用它,但这似乎是很多硬编码,这是针对PHP页面的。
但是我不能自己弄清楚我应该写些什么来获得这两种成分,因为现在我只得到包含项目ID为2的行
我的结果应该是用cipal_id = 1全部获得结果,并且还包括在某些情况下某个项目也使用(在此示例中)煤炭的情况,应该在煤炭查看页面上列出。
是否可以使用煤来创建X和Y 您会在“煤炭”查看页面上看到X和Y的全部成分
我希望这是有道理的。谢谢。
答案 0 :(得分:0)
我认为您可以使用此
Select Recipe_id, item_needed_id,item_amount From recipe
Where Recipe_id in (SELECT Recipe_id FROM recipe WHERE item_needed_id = 2)
order by Recipe_id;
结果
Recipe_id item_needed_id item_amount
1 5 3
1 2 2
这将显示所有配方,包括item_need和成分列表中具有item_needed 2的所有配方的数量。我不明白你为什么发布了recipe_rel id。