【发布时间】:2010-01-20 20:55:57
【问题描述】:
让我们看一个非常简单的例子,有 3 个表:
- dbo.Person(PersonId, Name, Surname)
- dbo.Pet(PetId, Name, Breed)
- dbo.PersonPet(PersonPetId, PersonId, PetId)
如果人有任何宠物,则需要选择所有带宠物的人......例如。在最终的应用程序中,它应该看起来像:
什么是最有效的方法:
- 选择所有人,然后在数据访问层用单独的选择填充每个人的宠物列表?
- 在 sql 级别使用连接,然后在数据访问层过滤所有重复的人,只将一个添加到结果列表中,而从另一个填充宠物列表?
- 还有其他想法吗?
【问题讨论】:
标签: sql