D**H 发帖数: 1 | 1 数据:
ID # dt comment
1 01/01/2022 aaa
2 01/02/2022 bbb
3 01/03/2022 ccc
需要做成
ID # dt comment prev_dt pre_comment
1 01/01/2022 aaa
2 01/02/2022 bbb 01/01/2022 aaa
3 01/03/2022 ccc 01/02/2022 bbb 01/01/2022 aaa
需要把所有合并成一个column。有什么好方法么? |
y****w 发帖数: 3747 | 2 1. lag google一下
2. join self on ID if ID 连续。 如果不连续,用row_number编号后再连接。 |
R**********6 发帖数: 4 | 3 不允许发 t-SQL, 只好说明一下如何作:
1. 假设 table is #data, #data cur left join #data pre on cur.id > pre.id,
result was saved to another temp table or CTE; rename the column properly
since they were duplicated;
2. use STUFF function and FOR XML PATH to convert multiple rows into one
column, this is the reference
https://www.mssqltips.com/sqlservertip/2914/rolling-up-multiple-rows-into-a-
single-row-and-column-for-sql-server-data/
good luck |
t*****w 发帖数: 254 | 4 Use two loops and redefine Id.
1, i from 1 to maximal row.
2, j from i to maximal row.
3, new id = j.
【在 D**H 的大作中提到】 : 数据: : ID # dt comment : 1 01/01/2022 aaa : 2 01/02/2022 bbb : 3 01/03/2022 ccc : 需要做成 : ID # dt comment prev_dt pre_comment : 1 01/01/2022 aaa : 2 01/02/2022 bbb 01/01/2022 aaa : 3 01/03/2022 ccc 01/02/2022 bbb 01/01/2022 aaa
|