Accessでテストしたときにwhochがうまく動作しますが、実行中ですが、TSQLのC#プログラムで
(正直なところ、条件を学ぶので、TSQLは私がやっていることに対して正しいと思います(そうではありませんでした)。 XSDファイルのtableadapterにプロシージャを格納しようとすると、エラーが発生します(以下のクエリを参照)。その結果、適切なXMLスキーマは自動的に作成されません。依然としてクエリ
がを実行している間も、エラーが発生します。私はそれがエラーなしで実行するが、そのエラーが本当にどこにあるのか分からない。私は、CASE文でIIFSを交換することにより、すべての「=」を排除しようとしたが、その後、私は他のエラー(それが参考になる場合、私はその試みを投稿することができます)
クエリはAccessで実行されますが、C#DataSetでエラーが発生します
SELECT IIF(ISNULL(Owners.OwnFirstName), Owners.OwnLastName,
Owners.OwnFirstName + ' ' + Owners.OwnLastName) AS [Owner's Name], SUM(iif(UnitBarcodes.NephStatus = 'N', 1, 0))
AS [Neph units], SUM(iif(UnitBarcodes.NephStatus = 'F', 1, 0)) AS [Filter units], COUNT(UnitBarcodes.NephStatus)
AS [Total Units]
FROM (Owners INNER JOIN
((UnitBarcodes INNER JOIN
AssembledUnits ON UnitBarcodes.ID = AssembledUnits.CaseID) INNER JOIN
OwnerUnits ON AssembledUnits.ID = OwnerUnits.AssembledUnitID) ON Owners.ID = OwnerUnits.OwnerID)
GROUP BY IIF(ISNULL(Owners.OwnFirstName), Owners.OwnLastName,
Owners.OwnFirstName + ' ' + Owners.OwnLastName)
クエリビルダからのエラーメッセージ
Error in list of function arguments: '=' not recognized.
Unable to parse query text.
を得ました
とにかく、ありがとうございました!
EDIT:
これはケース
SELECT (case when ISNULL(Owners.OwnFirstName) then Owners.OwnLastName else (Owners.OwnFirstName + ' ' + Owners.OwnLastName) end) AS [Owner's name],
SUM(case where UnitBarcodes.NephStatus = 'N' then 1 else 0 end))
AS [Neph units], SUM(case when UnitBarcodes.NephStatus = 'F' then 1 else 0 end)) AS [Filter units], COUNT(UnitBarcodes.NephStatus)
AS [Total units]
FROM (Owners inner JOIN
((UnitBarcodes inner JOIN
AssembledUnits ON UnitBarcodes.ID = AssembledUnits.CaseID) INNER JOIN
OwnerUnits ON AssembledUnits.ID = OwnerUnits.AssembledUnitID) ON Owners.ID = OwnerUnits.OwnerID)
GROUP BY (case when ISNULL(Owners.OwnFirstName) then Owners.OwnLastName else (Owners.OwnFirstName + ' ' + Owners.OwnLastName) end) AS [Owner's name]
でIIFSを交換する時、私の以前の試みだったと私は取得エラーが
Error in list of function arguments: 'ISNULL' not recognized.
Error in list of function arguments: ')' not recognized.
Unable to parse query text.
EDIT2です:
だから、このクエリは
SELECT IIF(ISNULL(Owners.OwnFirstName), Owners.OwnLastName,
Owners.OwnFirstName + ' ' + Owners.OwnLastName) AS [Owner's Name], COUNT(UnitBarcodes.NephStatus)
AS [Total units]
FROM (Owners INNER JOIN
((UnitBarcodes INNER JOIN
AssembledUnits ON UnitBarcodes.ID = AssembledUnits.CaseID) INNER JOIN
OwnerUnits ON AssembledUnits.ID = OwnerUnits.AssembledUnitID) ON Owners.ID = OwnerUnits.OwnerID)
GROUP BY IIF(ISNULL(Owners.OwnFirstName), Owners.OwnLastName,
Owners.OwnFirstName + ' ' + Owners.OwnLastName)
は、しかし、すぐに、私はすべての合計は、(ケースまたはIIFSを通してそれを可能)追加すると、クエリでエラーが発生しただけで正常に動作します。
なぜクエリデザイナーは 'に' [COALESCE](Owners.OwnFirstName + ''、 '') '( ' '' Owners.OwnFirstName +')' COALESCEを変更したいですか? – Brad
@ブラッドいいえ。 –
あなたがそこにあるものを実行しようとすると、クエリ式に構文エラー(演算子がありません)が表示されます 'SUM(CASE WHEN UnitBarcodes.NephStatus =' N 'THEN 1 ELSE 0 END) 'それで、フレーズ。 (これは、Accessで試行されたときです。私はまた、VSで 'diffferentというエラーが出ます。IErrorInfo.GetdescriptionがE_FAIL(0x80004005)で失敗しました。) – Brad