我有一张桌子说A
我想合并两个记录,记录为Id 100和101
id Col1 Col2 Col3 ....... Col100 parent_Id
100 null some val 33
101 xyz abc pqr 100
=============================================== result should be
xyz some pqr val
Condistion:
我可以通过join为每个列使用case语句来解决它,比如
Case When ISNULL(R1.Col1, '') = '' Then R2.Col1 ELSE R1.Col1 END
有没有什么技巧可以让我为每一栏写下案例?
答案 0 :(得分:0)
有没有什么技巧可以让我为每一栏写下案例?
在T-SQL中没有技巧可以避免为合并结果中的每一列编写单独的表达式。但是,您可以使用除CASE
表达式之外的表达式,其中一些表达式提供小的简洁优势,并且可能具有较小的运行时优势。在你的问题的评论中提出了两个这样的表达。
如果你真的想避免编写单独的表达式,并且你有很多表想要进行这种合并,那么你可以考虑为它编写一个用户定义的函数,或者甚至只是用它来编写它一个外部程序,其中任何一个都应该能够表达以相同方式处理每个列的想法。不过,在这样的事情发生之前,你的问题需要成为一个非常大的问题。