我有一个食物表:食物:
ID | NAME | GOES_WELL_WITH
1 APPLE 3
2 BANANA NULL
3 ORANGE 2
4 BLUEBERRY 5
5 GRAPE 4
6 LEMON 1
现在我想选择食物的名字作为名字,食物的名字与之相配。goes_well_with总是在表中有它对应的id值(如果它是null,那么它是null)。
前
APPLE ORANGE
BANANA NULL
ORANGE BANANA
BLUEBERRY GRAPE
GRAPE BLUEBERRY
LEMON APPLE
现在这里的异常是如果goes_well_with是NULL你必须包含它,看看上面的例子中的BANANA。我知道它必须是某种自连接或左连接,我实际上实现了以下,但没有BANANA NULL异常,我只是不知道如何包含它。有什么建议吗?
2条答案
按热度按时间qncylg1j1#
您可以使用
self left join
来执行此操作,如下所示:Demo here
wlsrxk512#
您可以使用相关子查询,并在有NULL的地方使用 coalesce