帮助select语句与一对多关系

时间:2010-10-13 22:31:21

标签: c# sql tsql

使用两个具有一对多关系的表来编写select语句的最佳方法是什么?

我有一个名为broker的表,包含这些字段

id companyname

然后另一个名为brokerContact的表,它具有带有这些字段的代理表的外键

id brokerid contact name phone

如何编写一个select语句,它将获取来自可转换的所有记录以及每个brokerid的所有代理接口,而不选择我的C#代码中的所有代理,然后通过它们来获取每个代理以获取brokerContacts,或者这是唯一的方法吗?

如果这没有意义或需要更多说明,请告诉我。 谢谢

此外,这将在存储过程中

1 个答案:

答案 0 :(得分:4)

要获取Broker表中的所有记录以及所有BrokerContacts,您可以使用INNER JOIN

SELECT B.ID
        ,B.companyname  
        ,BC.ID
        ,BC.contact
        ,BC.[name],
        ,BC.phone  
FROM Broker AS B
INNER JOIN BrokerContact AS BC ON BC.BrokerID = B.ID
ORDER BY B.companyname

如果您有多个联系人,则每个联系人都会看到一行,重复companyname