我有一个表格列表,例如 A、B C。
我不知道有多少列,也不知道这些表的所有列名。
我对每个表的了解是键名和我想要组合的列。
表的典型 DDL 将是:
CREATE TABLE [dbo].[G_bHQ_S1](
[Key_code] [nvarchar](255) NULL,
[array1_nbr] [int] NULL,
[fDSHhldDetails] [int] NULL,
[fRespName] [nvarchar](200) NULL,
[fStoreAge] [int] NULL,
[qSex] [int] NULL,
[qDOB] [datetime] NULL,
[qDOBNR] [int] NULL,
[qAge] [int] NULL,
[qAgeNR] [int] NULL,
[qAgeRange] [int] NULL,
[qAge15OrOver] [int] NULL
) ON [PRIMARY]
为前三列存储的数据将类似于:
Key_code            array1_nbr  fDSHhldDetails      ........
W801053126H001  11          11                  ........
W802078001H001  11          11                  ........  
W802078012H001  11          11                  ........                  
W802078012H001  12          12                  ........  
W802078022H001  11          11                  ........  
W802078022H001  12          12                  ........  
........................................................
每个表只有一列我想组合,它总是 array1_nbr。
对于每个唯一的 Key_code,我需要将 array1_nbr 的值与其右下一列的列名结合起来。
因此,上述数据集的结果集将是:
Key_code                fDSHhldDetails_11     fDSHhldDetails_12     ........
W801053126H001          11                        null                  ........
W802078001H001          11                        null                  ........  
W802078012H001          11                        12                    ........                  
W802078022H001          11                        12                    ........  
....................................................................................
你能帮我解决这个问题吗?
谢谢。
@sgeddes 的结果集:
Key_code                11                        12                ........
W801053126H001          11                        null              ........
我期望的列名是 fDSHhldDetails_11 和 fDSHhldDetails_12。并且 fDSHhldDetails 对于每个表都是未知的,但它是 array1_nbr 旁边的列名。有没有办法连接它?否则我可以手动添加它,查询对我来说已经足够好了。多谢了。