3

私は MySQL のバック グラウンドから来たので、ここで我慢してください。MSSQL Server 2008 を使用して、IFF ステートメントを含むクエリを作成しています。次のエラーが表示されます。

"Msg 102, Level 15, State 1, Line 8
Incorrect syntax near '='."

私のクエリは次のようになります。

SELECT
    a.[storeno],
    a.[Description],
    a.[transactiondate],
    a.[amount] AS 'pos',
    b.[amount] AS 'ecc',
    a.[amount] - b.[amount] AS 'difference',
    IIF(a.amount = b.amount,'BALANCED','UNBALANCED') AS 'result',
    GETDATE()
FROM
    [POS_REPORT].[dbo].[Txn_Daily_Totals] a
LEFT JOIN
    [POS_REPORT].[dbo].[SAP_FI_INBOUND_DAILY_TOTALS] b ON
    a.[storeno] +
    a.[transactiondate] =
    b.[storeno] +
    b.[transactiondate]

私は非常に多くの異なる方法を試しましたが、これを正しく行うことはできません。利用した

IF
BEGIN
END
ELSE
END

そしてケース。すべてが私に異なるエラーを与えます。私を助けてください。

4

2 に答える 2

3

次のように書くことができます。

case when a.amount = b.amount then 'BALANCED' else 'UNBALANCED' end as result

それ以外の

IIF(a.amount = b.amount,'BALANCED','UNBALANCED') AS 'result'
于 2012-11-20T09:35:22.180 に答える
2

IIF は SQL Server 2008 には実装されていません。これは 2012 バージョンの新機能です。

于 2012-11-20T09:39:13.590 に答える