将多行中的值连接到单行中

时间:2019-07-18 07:03:28

标签: sql pivot crosstab

共有3张桌子:

1. Users (id1, ..., username, ....)
2. Equipment (id2, id3, ...., equipmentname, ...)
3. Equipmentlist (id4, ...., equipmenttype, equipmentname, ...)

where id1 = id2, id3 = id4。每个用户拥有1-4种设备。

有没有一种方法可以在表格中将每个用户的所有设备都添加到一行中,例如(用户名,设备类型1,设备名称1,...,设备类型4,设备名称4)?

这是一个例子:

表用户:

id1 Username
1   user1
2   user2
3   user3

餐桌设备:

id2 id3 equipmentname
1   235 PG4
1   236 Bosch 4000
3   451 GM200

表设备清单:

id4 Equipmenttype     Equipmentname
235 Cooker            PG4
236 Hot water boiler  Bosch 4000
451 Gas Meter         GM200

我想要这样的东西:

id1 username equipmenttype1 equipmentname1 equipmenttype2     equipmentname2 .... equipmenttypeN equipmentnameN
1   user1    Cooker         PG4            Hot water boiler   Bosch 4000
2   user2
3   user3    Gas Meter      GM200

0 个答案:

没有答案