我在 SQL Server 中有以下两个表:
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
我可以通过外连接获得所需输出的第二行以外的所有内容,但我如何也获得第二行?
换句话说,这:
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