[英]SQL Left Join not returning first match
我有2個表,我想在其中返回左側表中的所有數據,並在右側返回匹配的數據。
問題是,左側返回的數據不包括與右側匹配的行。
左表:
id, kat, navn
32, 1, 'Bits'
33, 2, 'Donkrafte'
34, 3,'Dornsæt'
35, 4, 'Hammere'
id, kat, navn
26, 1, 'Skrueudtrækkertoppe'
27, 1, 'WIHA Bits'
SQL看起來像這樣:
SELECT k.kat, k.navn as navnet, u.navn as unavn FROM b_kategori k LEFT OUTER JOIN b_underkategori u ON k.kat = u.kat
我希望SQL能夠返回左側的所有行(b_kategori)和右側的所有行(b_underkategori),但是我缺少b_kategori 32,1 32, 1, 'Bits'
是否排除在外,因為它與正確的表數據匹配,還是有可能讓SQL返回所有數據?
上面的SQL被精簡到最低限度,因此我可以對其進行調試。 “原始”還具有WHERE語句。 如果我可以使以上各項起作用,我相信我也可以使原件起作用。 :-)
我希望有人可以指引我正確的方向。
提前致謝。
檢查Left join相交 ,如果您的左表在右表上沒有匹配項,它將切掉該部分,將其替換為FULL JOIN ,我認為會得到您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.