我有一个表(称为 oldTable),其中的列如下:
ID (int),Rank (int),TextLineNumber (int),SomeText (varchar)
主键是多部分的:ID+Rank+TextLineNumber。
我正在尝试将它转换/加入另一个表(称为 newTable),其中的列如下:
ID (int)、Rank (int)、CombinedText (varchar)
主键是 ID+Rank。
新表上的 ID 和 Rank 已经填充,但我需要一个查询来更新 newTable 的 CombinedText 列,并考虑以下注意事项:
以下是一些示例数据:
旧 - http://i54.tinypic.com/jq0vmx.png
新 - http://i53.tinypic.com/dhfyn8.png
如果重要的话,我正在使用 MSSql 2005。我目前使用 T-SQL 和 while 循环执行此操作,但它已成为一个严重的性能瓶颈(10000 行大约需要 1 分钟)。
编辑:CSV 中的扩展示例数据:
旧:
ID,Rank,LineNumber,SomeText
1,1,1,the qu
1,1,2,ick br
1,1,3,own
1,2,1,some te
1,2,2,xt
1,3,1,sample
2,7,1,jumped ov
2,7,2,er the
2,7,3,lazy
2,13,1,samp
2,13,2,le text
3,1,1,ABC
3,1,2,DEF
3,1,3,GHI
3,1,4,JKL
3,50,1,XYZ
Run Code Online (Sandbox Code Playgroud)
新的:
ID,Rank,CombinedText
1,2,some text
2,13,sample text
2,14,sample …
Run Code Online (Sandbox Code Playgroud)