【发布时间】:2020-03-25 07:08:48
【问题描述】:
我有包含某些列的 table_1。我想将该数据复制到 table_2,在 table_1 的任何列中至少有一个空值。例如table_1 有三列。现在,我想将这些行复制到 table_2,在 table_1 的三列中的任何一列中至少有一个空值。
我使用以下查询进行了尝试:
insert into table_2 (col1, col2, col3)
select col1, col2, col3
from table_1
where col1 is null or col2 is null or col3 is null
但是,table_2 有一个列 'error_value' 存在一个问题,该列应包含指示哪些列具有对应于该特定行的 NULL 值的数据,就像它应该提到 'col2 is null' 如果 col2 在该行中缺少值。如果多于一列具有 NULL 值,那么如果所有列都有缺失值,则应提及 'error_value' 列中的所有列,例如 'col1, col2, col3' 为 null。
任何建议或帮助我如何实施它。
【问题讨论】:
-
请提供示例数据+预期结果。
-
所以
col1到col3中的数据在源涂抹目标表之间应该是相同的,对吗?它只是一个过滤视图,其中包含缺失数据的记录子集,并包含一个总结缺失数据的新列。对吗? -
您能否提供一些示例,说明在存在 { 1, 2, 3 } 缺失值的情况下
error_value消息应该是什么样的? -
@JeremyCaney,当所有列都有缺失值时,它应该指示'col1, col2, col3 is null'。
-
您使用的是什么版本的 SQL Server?
标签: sql sql-server tsql sql-server-2017