我有一个脚本,当前正从一个表导入数据并插入到另一个表中。现在我必须修改脚本,如果字段的值是A,那么代码必须出现在第10列中,否则如果是B则代码应出现在第50列中。
表1:
Id Field 1 Field 2 Field 3 Field 4
1 A
2 B
表2:
Id Field 1 Field 2 Field 3 Field 4....Field 10.....Field 50
1 0/Null
2 1
有人可以建议我使用案例陈述来实现这一要求。
非常感谢任何建议!
谢谢你,新蜜蜂
答案 0 :(得分:2)
您可以在选择数据时使用案例表达式:http://technet.microsoft.com/en-us/library/ms181765.aspx
答案 1 :(得分:2)
在Field 10
的插页上,您可以使用CASE
语句,即
CASE Field2 WHEN 'A' THEN '0\Null' ELSE '' END
,同样适用于您的Field 50
答案 2 :(得分:1)
您可以使用case语句编写T-SQL:
`
Create table #T(
col1 int, col2 varchar(2), col3 int, col4 int, col5 int, col6 int, col7 int, col8 int,
col9 int, col10 int, col11 int)
GO
Create table #T1(
col1 int, col2 varchar(2), col3 int, col4 int, col5 int, col6 int, col7 int, col8 int,
col9 int, col10 int, col11 int, )
Insert into #t
Select 1,'B',5,null,null,null,null,null,null,null,null union all
Select 2,'A',5,null,null,null,null,null,null,null,null union all
Select 112,'B',5,null,null,null,null,null,null,null,null union all
Select 41,'B',5,null,null,null,null,null,null,null,null union all
Select 15,'A',5,null,null,null,null,null,null,null,null
Select * from #t
Insert into #t1
Select col1, col2, col3,col4,col5,col6,col7, col8
col9,CASE WHEN COL2 ='A' Then Col2 Else 'B' End col10, col11
from #t
`