【发布时间】:2016-08-18 03:18:35
【问题描述】:
我有一个临时表,它的列和值如下:
第一个例子
COL001 COL002 COL003 COL004 COL005 COL006 COL007 COL008 COL009 COL010
-------------------------------------------------------------------------------------------------
aa bb cc dd ee *YY* ff gg hh ii
第二个例子:
COL001 COL002 COL003 COL004 COL005 COL006 COL007 COL008 COL009 COL010
-------------------------------------------------------------------------------------------------
aa bb *YY* ff gg hh ii jj kk ll
它应该看起来像:
COL001 COL002 COL003 COL004 COL005 COL006 COL007 COL008 COL009 COL010
-------------------------------------------------------------------------------------------------
aa bb *YY* ff gg hh ii
正如您在第一个示例中看到的那样,YY 在 COL006 中。
列中的数据不固定。
当COL003、COL004 和COL005 为空时,YY 将转移到COL003,并且所有剩余的列也将跟随。[第二个示例]
我想要做的就是将YY 修复为COL006 和所有剩余的列,并将COL003、COL004 和COL005 设为NULL。
传入数据来自文本文件并由其他团队管理的 windows-scripts 导入:
样本1
aa|bb|cc|dd|ee|YY|ff|gg|hh|ii ----> 最多 80 列
样本2
aa|bb|YY|ff|gg|hh|ii|jj|kk|ll ----> 最多 80 列
【问题讨论】:
-
第一行是标题还是实际输出?
-
它是一个列标题。
-
为什么不规范化这些数据呢?比你根本不会问这个问题。
-
我们刚刚收到这些信息。来自他们的数据不是固定的。
-
@sccydd,由于您丢失了列值和列名之间的映射,因此无法解决。您可以通过计算“|”找到失败的次数并与预期的列数进行比较
标签: sql sql-server database sql-server-2008