我的数据如下所示:
address | id
12AnyStreet | 1234
12AnyStreet | 1235
12AnyStreet | 1236
12AnyStreet | 1237
我的目标是让它看起来像这样:
Address id1 id2 id3 id4
123Any 1234 1235 1246 1237
基于一些谷歌搜索,我能够生成以下 CTE:
with cust_cte (Address, id, RID) as (
SELECT Address, id,
ROW_NUMBER() OVER (PARTITION BY (Address) ORDER BY Address) AS RID
FROM tab)
下一步是进行旋转,以便对于每个 RID,我将关联的 id 放在列中。但是,我似乎无法找到我发现的示例。我不会发布甚至可能并不真正适用的示例的其余部分,而是将其留给观众。其他不一定使用 CTE 的新方法也是值得赞赏的。这将处理大量数据,因此效率很重要。