Nar*_*Dog 3 sql sql-server syntax
我有一个标准的插入到/ select语句,其格式类似于:
insert into Table
( ...,
...)
select
field1,
field2,
field3,
field4,
fieldetc
from .... etc
Run Code Online (Sandbox Code Playgroud)
select语句中有三个特定字段需要根据另一个字段选择不同的值,让我们称之为检查器,三个字段是field2,field3和field 4.值将为0或在另一种情况下需要一个案例的时候.我的问题是,如何格式化if/else语句,以便它可以在select语句中工作?我现在如何拥有它是这样的:
select
field1data,
if checker = 'A' or checker is null
begin
0,
0,
0,
end
else
begin
case when ... then ... else ... end,
case when ... then ... else ... end,
case when ... then ... else ... end,
end
fieldetcdata
from... etc
Run Code Online (Sandbox Code Playgroud)
这是返回错误.我如何格式化它以使其正常工作,为这三个字段选择零或在其他情况下的语句中运行我的情况.谢谢!
您需要分别为每个字段指定case语句.
Select field1data,
Case When IsNull(Checker,'A') = 'A' Then 0
When Cond1 Then Whatever1
...
Else ...
End,
Case When IsNull(Checker,'A') = 'A' Then 0
When Cond2 Then Whatever1
...
Else ...
End,
Case When IsNull(Checker,'A') = 'A' Then 0
When Cond2 Then Whatever1
...
ELSE ...
End,
fieldetcdata
From ETC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |