をXMLパスのためのもの/との明確な使用:(「」)、ここで質問に概説された方法に基づいて
Concatenate many rows into a single text string?
私は、連結文字列で一緒にユニークな値だけを入れたいと思います。私のコードは、現在、次のとおりです。
select rc.Routage
, COUNT(distinct rc.Event)
, STUFF((select ', ' + cast(rcA.Event as varchar)
from Receiving rcA
where rcA.supplier = 'user'
and rcA.DATETIME > '20170322'
and rc.Routage=rcA.Routage
for xml path(''))
, 1, 1, '')
from Receiving rc
where rc.supplier = 'user'
and rc.DATETIME > '20170322'
group by rc.Routage
order by COUNT(distinct rc.Event)desc
これは私が期待する出力が得られますが、私は、XMLパスフィールドに/原料に重複値を排除したいと思います。
stuff/xmlセクションにdistinct
とgroup by
のさまざまな組み合わせを試しましたが、正しくまとめてまとめることはできません。
説明すると、COUNT(distinct rc.Event)
= 2の場合、stuff節の2つの異なるイベントが表示されます。これどうやってするの?
ニース。他のポインターもありがとう - 彼らは考慮されています。とても感謝しております。 – User632716