Sql server 2005 将导入中的一列拆分为数据库中的两列

Sql server 2005 将导入中的一列拆分为数据库中的两列,sql-server-2005,ssis,Sql Server 2005,Ssis,我有一个需要导入的文件,其中有一列包含设置a、S和B 我想将此列和所有A拆分为一列,但将重置为1,其余的拆分为另一列并更改为1 这在派生列中可能吗?我不能100%确定您要的是什么,但类似这样的内容如何: SELECT CASE ImportColumn WHEN 'A' THEN 1 ELSE NULL END AS [A Column] , CASE ImportColumn WHEN 'A' THEN NULL ELSE 1 END AS [Other Column] FROM Im

我有一个需要导入的文件,其中有一列包含设置a、S和B

我想将此列和所有A拆分为一列,但将重置为1,其余的拆分为另一列并更改为1


这在派生列中可能吗?

我不能100%确定您要的是什么,但类似这样的内容如何:

SELECT
  CASE ImportColumn WHEN 'A' THEN 1 ELSE NULL END AS [A Column]
, CASE ImportColumn WHEN 'A' THEN NULL ELSE 1 END AS [Other Column]
FROM
  Import
当值为“A”时,将添加一行,第一列为1,第二列为null。
当值不是“A”时,将添加一行,第一列为null,第二列为1。这就是你的意思吗?

答案是使用If语句创建两个派生列

([产品类型代码]=“A”?“1”:“0”)


并反转另一个派生列的结果

在这种情况下,“派生列”是什么意思?您的派生列是什么?如果没有最后一句话,答案将是简单地插入。。。在普通导入表i上进行选择,将每个目标列的列值分别与“a”、“B”和“C”进行比较?对不起,我忘了提到SSIS模块中的列值。您的第二种情况似乎是错误的。应该与S比较。B缺失的情况还有一个。对不起,我忘了提到这是在SSIS模块中。@user492238-当“A”时,第一列是1,当除“A”以外的所有内容时,第二列是1。