使用两个具有一对多关系的表来编写select语句的最佳方法是什么?
我有一个名为broker的表,包含这些字段
id companyname
然后另一个名为brokerContact的表,它具有带有这些字段的代理表的外键
id brokerid contact name phone
如何编写一个select语句,它将获取来自可转换的所有记录以及每个brokerid的所有代理接口,而不选择我的C#代码中的所有代理,然后通过它们来获取每个代理以获取brokerContacts,或者这是唯一的方法吗?
如果这没有意义或需要更多说明,请告诉我。 谢谢
此外,这将在存储过程中
答案 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
。