给定此表结构,我想展平多对多关系,并将一个表的名称字段中的值设置为列标题,并将同一表中的数量设置为列值。目前可行的想法是将值放入字典(哈希表)中并用代码表示这些数据,但我想知道是否有 SQL 方法可以做到这一点。我还使用 Linq-to-SQL 进行数据访问,因此 Linq-to-SQL 解决方案将是理想的选择。
[表A](整数ID)
[TableB](int id,字符串名称)
[TableAB](int tableAId、int tableBId、int 数量)
fk:TableA.Id 连接到 TableAB.tableAId
fk:TableB.Id 连接到 TableAB.tableBId
有没有一种方法可以查询三个表并返回一个结果,例如:
TableA
[Id]
1
TableB
[Id], [Name]
1, "Red"
2, "Green"
3, "Blue"
TableAB
[TableAId], [TableBId], [Quantity]
1 1 5
1 2 6
1 3 7
Query Result:
[TableA.Id], [Red], [Green], [Blue]
1, 5, 6, 7