MySql查询,组合表

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

无论如何这可能吗?

Óla*_*age 6

你使用一个名为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,因为你有一个链接表.