SQL Server 2012 Management Studio(SQL Server 2012に接続)でIIFを使用しようとしています。私はAccessで必要なものを作り出すことができますが、SQL Serverの構文が私を驚かせています。シンプルであっても、何かのようなSQL Server 2012のIIFトラブル
SELECT IIF(dbo.GL_Register.Credit_Or_Debit = C,'true','false')
from dbo.GL_Register
は動作しますが、次のエラー思い出させる必要があります。「リストの関数の引数でエラーが発生しました:。。 『=』クエリテキストを解析できません認識されないの
これはで行うのはとても簡単です。?。
SELECT dbo.GL_Account.Account_Code, dbo.GL_Register.Date,
SUM(IIF(dbo.GL_Register.Credit_Or_Debit like 'C',-
dbo.GL_Register.Amount,dbo.GL_Register.Amount) AS Expr1
FROM dbo.GL_Register INNER JOIN
dbo.GL_Account ON dbo.GL_Register.Account_Id = dbo.GL_Account.Account_Id
GROUP BY dbo.GL_Account.Account_Code, dbo.GL_Register.Date
HAVING (dbo.GL_Account.Account_Code = N'11000')
のAc:アクセス私は間違って何をやっている更新おかげ
は、それが問題である「から」と言うではなく対等「のような」を使用して作業を途中ようになりました魔法のように動作目的税のSQLは次のとおりです。
SELECT dbo_GL_Account.Account_Code, dbo_GL_Register.Date,
Sum(IIf([Credit_Or_Debit]="C",-[Amount],[Amount])) AS Amount2
FROM dbo_GL_Register INNER JOIN dbo_GL_Account ON dbo_GL_Register.Account_Id
= dbo_GL_Account.Account_Id
GROUP BY dbo_GL_Account.Account_Code, dbo_GL_Register.Date
HAVING (((dbo_GL_Account.Account_Code)="11000"));
私は "CASE"を使用して、私が必要なことをすることができました。しかし、好奇心の中から私は戻ってIIFをやり直してみました。「関数の引数のリストに誤りがあります:」=認識されませんでした。なぜ私のために働いていないのかまだ分かりません。私が推測しなければならないのは、フィールドが数値ではないので、 "="が好きではないからです。 – Bouje
カラムタイプは重要ではありません。あなたのためにはうまくいかないことは驚くべきことです!私の唯一の推測では、データベースは以前のバージョン(2012年より前)に設定されています。データベースの[プロパティ] - [オプション] - [互換性]をチェックします。 – FLICKER