-1

Excelで「ネストされたif」関数と見なされるものを取得して、クエリで定式化しようとしています。クエリの目的は、2 つのデータ セットを比較できるようにビューを作成することです。

Excel の場合、数式は次のようになります: =IF(condition1=0,condition2,IF(condition2=0,condition3,condition1))。

次のエラー メッセージが表示され続けます。

私が使用しようとしたクエリ言語は次のとおりです。

drop view danburycomp 
go
create view danburycomp as
SELECT *, 
       TotalCash=CASE 
                   WHEN [cash out] = 0             THEN [cash counter cash in] 
                   WHEN [cash counter cash in] = 0 THEN [cash counter cash out] 
                                                   ELSE [cash out] 
                 END 
FROM   [trans jan-mar2016] 
WHERE  [account number] IN ( 'UNIQUEID1', 'UNIQUEID2' ) 
  AND ( [cash into trans] != 0 
         OR [cash out] != 0 ) 
  AND [date time trans] BETWEEN '2016-01-29' AND '2016-02-24' 
4

1 に答える 1

0

2つのこと:

  1. in the case ステートメントの後にTotalCash=置く代わりに。as TotalCashend

  2. ケースロジックはオフです。Cash out <> 0 で [Cash Counter Cash In] = 0 の場合、[Cash Counter Cash Out] が返されますが、これは望んでいるものではないと思います。

だからこれを使う:

 drop view danburycomp 
go
create view danburycomp as
select *,
case 
    when[Cash Out]=0 and [Cash Counter Cash In]<>0 then [Cash Counter Cash In] 
    when [Cash Out]=0 and[Cash Counter Cash In]=0 then [Cash Counter Cash Out] 
    else [Cash Out]
end as TotalCash
from [Trans Jan-Mar2016]
where [Account Number] in ('UNIQUEID1', 'UNIQUEID2')
and ([Cash Into Trans] !=0 or [Cash Out]!=0)
and [Date Time Trans] between '2016-01-29' and '2016-02-24'
于 2016-05-26T18:18:03.520 に答える