0
我現在有兩個表存儲數據。它們通過ID值相關聯。我如何返回表1中的所有值,包括主值,即使匹配。這是我的基本查詢。左連接返回連接值
Select MFG.mfgname, SS.subsysname
From Manufacturers MFG left join SubSystem SS
On MFG.id = SS.mfgid
Order by MFG.mfgname, SS.subsysname
下面是表
MFG Table
id mfgname
1 ABB
2 Siemens
3 Vipa
4 Visolux
SubSystem table
id mfgid subsysname
1 1 ABB Drives
2 1 ABB Robots
3 1 Advant OCS
4 2 Simatic S5
5 2 Simatic S7
6 3 Vipa System
最後的結果和預期的結果。
Results
mfgname subsysname
ABB ABB Drives
ABB ABB Robots
ABB Advant OCS
Siemens Simatic S5
Siemens Simatic S7
Vipa Vipa System
Visolux NULL
Desired Results
mfgname subsysname
ABB NULL
ABB ABB Drives
ABB ABB Robots
ABB Advant OCS
Siemens NULL
Siemens Simatic S5
Siemens Simatic S7
Vipa NULL
Vipa Vipa System
Visolux NULL
期望的結果還會返回帶有空子系統名稱的ABB,西門子和Vipa mfgs。此時它沒有。希望這是有道理的!
如果將'left join'更改爲'inner join'並將'union'更改爲'union all',可以避免需要獨特的排序? –
如果'subsysname'不能爲空,你可以使用inner join和union all – JamieD77