SQL Server に次の 2 つのテーブルのようなものがあります。
Table1
MainID Descrip
1 tree
2 dog
3 blah
4 etc
Table2
SubID MainID SubDescrip
1 2 rover
2 2 fido
MainID が一致する場合、Table1 と Table2 からすべて選択できるようにしたいと考えています。
私の望ましい出力は次のとおりです。
MainID Descrip SubID SubDescrip
1 tree NULL NULL
2 dog NULL NULL
2 dog 1 rover
2 dog 2 fido
3 blah NULL NULL
4 etc NULL NULL
外部結合を使用して目的の出力の 2 行目を除くすべてを取得できますが、2 行目も取得するにはどうすればよいですか?
言い換えれば、これは:
SELECT m.MainID, m.Descrip, s.SubID, s.SubDescrip
FROM Table1 m LEFT OUTER JOIN
Table2 s ON m.MainID = s.MainID
ORDER BY m.MainID, s.SubID
私にこれを与える:
MainID Descrip SubID SubDescrip
1 tree NULL NULL
2 dog 1 rover
2 dog 2 fido
3 blah NULL NULL
4 etc NULL NULL
しかし、私もこれが欲しいです:
2 dog NULL NULL