4 mysql
我有两个MySql表,一个包含食物,另一个包含食谱(食物组).食谱表有一个标题,然后有一个项目表,包含该食谱中的所有食物.该表与食物表相关联.现在我需要组合这些表并将它们列为togheter.
食品表:
foodid | title | calories 1 banana 100 2 apple 50
配方表:
recipeid | title 1 fruit-mix
Receipe项目表:
receipeitemid | recipeid | foodid 1 1 1 2 1 2
我需要将它们组合到一个包含同一列表中的食物和食谱的列表中.所以在上面的例子中,我需要一个这样的列表:
title | foodid | recipeid | calories banana 1 null 100 apple 2 null 50 fruit-mix null 1 150
无论如何这可能吗?
你使用一个名为UNION的东西
union的问题是所有表必须具有相同的字段.但是您可以在SELECT查询中添加假字段以获得所需的结果.大表可能会很慢.
SELECT title, foodid, NULL as recipeid, calories FROM Food-table
UNION
SELECT title, NULL as foodid, recipeid, calories FROM Recipe-table
Run Code Online (Sandbox Code Playgroud)
但你应该真正研究JOINS,因为你有一个链接表.