更新时间:2023-02-05 11:43:11
这应该有效:
SELECT names.name, drink.wine, drink.soda, food.dinner, food.dessert, food.fruit
FROM
(SELECT name FROM food WHERE status = 'active'
UNION
SELECT name FROM drink WHERE status = 'active') names
LEFT JOIN drink ON drink.name = names.name
LEFT JOIN food ON food.name = names.name
结果
| NAME | WINE | SODA | DINNER | DESSERT | FRUIT |
----------------------------------------------------------------
| John Smith | red | cola | steak | muffin | apple |
| Mary Jones | white | lemonade | fish | cake | kiwi |
| Walter Yu | (null) | (null) | pasta | cake | banana |
| Adam Sheers | (null) | (null) | pasta | candy | grapes |
| Judy White | red | dr pepper | (null) | (null) | (null) |