SSMS中如何将事件ID配对行转换为单列分行格式?
我来帮你搞定这个转换需求!在SSMS里用T-SQL就能轻松实现,给你两种实用的方法:
方法一:用CROSS APPLY(直观易读)
这种方式把每行的两个ID分别拆成独立行,完全符合你要的顺序——原第一行的两个ID先输出,接着是第二行的,以此类推:
SELECT EventID FROM ( -- 把这里替换成你生成事件配对的原查询语句 SELECT EventID1, EventID2 FROM YourEventPairsTable ) AS SourceData CROSS APPLY ( VALUES (EventID1), (EventID2) ) AS UnpivotedResults(EventID)
方法二:用UNPIVOT(标准转置语法)
这是T-SQL专门用于列转行的语法,同样能实现你的需求:
SELECT EventID FROM ( -- 同样替换成你的原查询语句 SELECT EventID1, EventID2 FROM YourEventPairsTable ) AS SourceData UNPIVOT ( EventID FOR EventColumns IN (EventID1, EventID2) ) AS UnpivotedResults
注意事项
不管用哪种方法,只需要把示例里的子查询部分(SELECT EventID1, EventID2 FROM YourEventPairsTable)替换成你原本生成事件配对的查询语句就行。比如你的原查询是关联两张表生成配对,直接把那个完整查询嵌套进去就好。
内容的提问来源于stack exchange,提问作者cdm
相关产品推荐
相关产品推荐

