我有3个表需要加入,但我想在查询中显示所有
first table : itemtable
id itemname
1 item1
2 item2
second table : priceleveltable
id levelname
1 level1
2 level2
third table : relationtable
id itemid itemlevel price
我希望显示基于itemtable
和priceleveltable
的所有记录,如下所示:
itemname pricelevel price
item1 level1 null
item1 level2 null
item2 level1 null
item2 level2 null
我能这样查询吗?我尝试了左,右,内连接,但如果关系表上没有记录,它就不会显示记录
答案 0 :(得分:1)
您必须在Table3上使用full outer join
,并在第一个和第二个表上使用联接结果。
SELECT * from firstTable as ft
INNER JOIN secondTable as st
ON ft.id = st.id
FULL OUTER JOIN thirdTable as tt
ON ft.id = tt.id
WHERE ft.id IS NOT NULL