【发布时间】:2018-04-22 09:56:21
【问题描述】:
我必须在 SQL 中进行一些操作。
我需要在 ColC 中合并 ColA 和 ColB - 替换文本由 > 分隔 - 像这样:a1-b1> a2-b2>a3-b3;。
例子
ColA | ColB | ColC
----------------+------------------+-----------------------------
abcd > e > efg | ppppp > ppt > pp | abcd-ppppp > e-ppt > efg-pp
hij > kl > iiii | aaa > bbb > hhh | hij-aaa > kl-bbb > iiii-hhh
aa | fff | aa-fff
a > bbb | pp > a | a-pp > bbb-a
然后将ColD添加到ColC的每个字符串路径的开头>最终结果ColE
dc1 > dc2 > dc3;...
ColC | ColD | ColE
----------------------------+------+----------------------------------------
abcd-ppppp > e-ppt > efg-pp | 2016 | 2016abcd-ppppp > 2016e-ppt > 2016efg-pp
hij-aaa > kl-bbb > iiii-hhh | 2012 | 2012hij-aaa > 2012kl-bbb > 2012iiii-hhh
aa-fff | 2017 | 2017aa-fff
a-pp > bbb-a | 2014 | 2014a-pp > 2014bbb-a
如何在 T-SQL 中做到这一点?
【问题讨论】:
-
向我们展示您的尝试
-
你真的,真的,真的,真的需要标准化你的数据库。阅读Is storing a delimited list in a database column really that bad?,你会看到很多原因为什么这个问题的答案是绝对是的!
-
一些 DDL 和示例数据如何符合您的预期结果? spaghettidba.com/2015/04/24/…
-
看来你已经有了答案:stackoverflow.com/questions/49910473/…
-
@MJH 谢谢,我会按照指示进行的
标签: sql-server data-manipulation