Soe*_*ren 10 many-to-many sql-server-2005
哇,很难找到这个主题的简单解释.一个简单的多对多关系.
三个表,tableA,tableB和一个联结表A_B.
我知道如何使用密钥和所有设置关系,但是当执行INSERT,UPDATE和DELETE查询时,我会感到有些困惑....
基本上,我正在寻找的是一个示例,显示:
如何根据TableB中的ID获取TableA中的所有记录
如何根据TableA中的ID获取TableB中的所有记录
3如何在TableA或TableB中插入,然后在联结表中进行相应的INSERT以建立连接.
我不是在寻找特定项目的解决方案,只是可以应用的一些常规示例.也许你有什么东西躺在身边?
我要做的第一件事是建议使用像Linq-To-Sql或NHibernate这样的ORM ,它将为您提供数据模型的对象表示,这使得处理复杂事物(如多对多CRUD操作)变得更加简单.
如果ORM不是您工具集的一部分,那么这就是SOL的外观.
Users UserAddresses Addresses
======= ============= =========
Id Id Id
FirstName UserId City
LastName AddressId State
Zip
我们的表连接如下:
Users.Id -> UserAddresses.UserId Addresses.Id -> UserAddresses.AddressId
SELECT Users.*
FROM Addresses INNER JOIN
UserAddresses ON Addresses.Id = UserAddresses.AddressId INNER JOIN
Users ON UserAddresses.UserId = Users.Id
WHERE (Addresses.Id = @AddressId)
SELECT Addresses.*
FROM Addresses INNER JOIN
UserAddresses ON Addresses.Id = UserAddresses.AddressId INNER JOIN
Users ON UserAddresses.UserId = Users.Id
WHERE (Users.Id = @UserId)
| 归档时间: |
|
| 查看次数: |
19299 次 |
| 最近记录: |