タイトルに記載されているとおり、私は合成キー(メインキーと位置キー)とXML(固定スキーマ)を含むValue列を持つテーブルを持っています。xml列のキーと集計によるSQL Serverグループ
固定XMLは、その後のように見える:
<Data>
<ItemACount></ItemACount>
<ItemBCount></ItemBCount>
</Data>
ItemACountとItemBCount両方が正の整数を表します。
私は同じ主キー(ただし異なる位置キー)を持つグループレコードを希望し、各グループごとに各ItemACountとItemBCountの合計を計算します。
私は以下のようにSQLコードを記述します。
SELECT
MainKey AS MainKey
SUM ([Value].value('/Data/ItemACount/@value')) AS TotalItemACount ,
SUM ([Value].value('/Data/ItemBCount/@value')) AS TotalItemBCount
FROM
[dbo].[tblItems]
GROUP BY
[MainKey]
しかし、私は構文エラーを取得:
Cannot find either column "Value" or the user-defined function or aggregate "Value.value", or the name is ambiguous.
私は正しい構文であるかを理解したいと思います。
チェックしてみてください。https://stackoverflow.com/questions/6786687/extracting-sum-of-data-from-xml-in-sql –
@ロジェリオ・カルバリョ私を状況は少し異なります。私は別のxmlでフィールドを合計する必要があります(各フィールドはxmlごとに一意ですが、各行で繰り返されます) – Skary
しかし、解決方法は同じですが、まずサブクエリーを作成してeとメインクエリはグループを適用します。 –