6

こんにちは、このクエリを使用して結合で case ステートメントを使用したいのですが、エラーが発生しました

Select CONVERT(VARCHAR(10), SII.SIDATE,103)DATE,SII.SALEID,SII.ItemName,SI.TenancyID

FROM F_SALESINVOICEITEM SII
INNER JOIN F_SALESINVOICE SI ON  SI.SALEID=SII.SALEID 
INNER JOIN #TempTableSearch ts ON CASE
 WHEN ts.ACCOUNTTYPE = '1' THEN ts.ACCOUNTID=SI.TENANCYID
  WHEN ts.ACCOUNTTYPE='2' THEN ts.ACCOUNTID=SI.EMPLOYEEID
   WHEN ts.ACCOUNTTYPE='3' THEN ts.ACCOUNTID=SI.SUPPLIERID
    WHEN ts.ACCOUNTTYPE='4' THEN ts.ACCOUNTID=SI.SALESCUSTOMERID

エラー

「=」付近の構文が正しくありません。

このエラーを解決するのを手伝ってください。

4

5 に答える 5

17

そのはず、

ON 
ts.ACCOUNTID =  CASE
                    WHEN ts.ACCOUNTTYPE = '1' THEN SI.TENANCYID
                    WHEN ts.ACCOUNTTYPE = '2' THEN SI.EMPLOYEEID
                    WHEN ts.ACCOUNTTYPE = '3' THEN SI.SUPPLIERID
                    WHEN ts.ACCOUNTTYPE = '4' THEN SI.SALESCUSTOMERID
                END
于 2013-09-24T10:40:54.860 に答える
0

構文エラーがあります。あなたはENDそこに行方不明です。

于 2013-09-24T10:42:21.363 に答える