0
私は現在、データを格納する2つのテーブルを持っています。それらは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
希望する結果は、サブシステム名がNULLのABB、Siemens、およびVipaのmfgも返されます。この時点ではそうではありません。これが理にかなったことを願って!
'left join'を' inner join'に変更し、 'union'を' all union 'に変更すると、これは少し良くなるでしょうか?別のソートの必要はありませんか? –
'subsysname'がヌル可能でない場合、内部結合と共用をすべて使用できます – JamieD77