select isnull(
sum(
case 
when Te.税收类型=
select top 1 distinct 税收类型 from sslxb where 税收名称='上缴增值税'
then Te.税收金额
when Te.税收类型=
select top 1 distinct 税收类型 from sslxb where 税收名称='退还增值税' 
then  -Te.税收金额 
end)
,0) '税收金额1'

解决方案 »

  1.   

    orselect isnull(
    sum(
    case Te.税收类型
    when select top 1 distinct 税收类型 from sslxb where 税收名称='上缴增值税'
    then Te.税收金额
    when select top 1 distinct 税收类型 from sslxb where 税收名称='退还增值税' 
    then  -Te.税收金额 
    end)
    ,0) '税收金额1'
      

  2.   

    在关键字 'distinct' 附近有语法错误。
      

  3.   

    select isnull(
    sum(
    case 
    when Te.税收类型=a.税收类型 then Te.税收金额
    when Te.税收类型=b.税收类型 then  -Te.税收金额 
    end)
    ,0) '税收金额1'
    from table1,
    (select distinct 税收类型 from sslxb where 税收名称='上缴增值税')a,
    (select distinct 税收类型 from sslxb where 税收名称='退还增值税' )b