我的数据库非常复杂,所以我将问题简化到下表。SQL Server 2000 - 如何在查询的最终结果中旋转连接的结果?
TableA
和TableB
与NameID
字段在TableB
相关。我正在尝试创建一个SQL语句来产生所需的结果。我很了解JOINs以及它们是如何工作的,但我无法将此模糊化。
TableA
中的每件商品都不会超过TableB
中的2件商品。可能少于2个项目。
这将在SQL Server 2000服务器上使用。
表A
ID | Name
---+-----
1 | John
2 | Jane
3 | Bob
4 | Doug
表B
ID | NameID | Information
---+--------+------------
1 | 1 | Apples
2 | 1 | Apples
3 | 2 | Pears
4 | 2 | Grapes
5 | 3 | Kiwi
所需的结果
ID | Name | InformationA | InformationB
---+------+--------------+-------------
1 | John | Apples | Apples
2 | Jane | Pears | Grapes
3 | Bob | Kiwi | NULL
4 | Doug | NULL | NULL
“小于2项”包括零?如果是这样你想要显示这些? – 2011-01-12 18:40:05
我更改了TableB ID 5,NameID从4到3的示例数据。此更改与期望结果匹配。 – bobs 2011-01-12 18:41:29
@Martin - 是的,TableB中可能有零个条目,结果应该包含该行。我会添加上面的例子@bobs - 感谢修复 – Justin808 2011-01-12 18:44:37