0

警告 私は初心者なので、質問や説明に何か問題がありましたら申し訳ありません...

添付ファイル (OrigFileName) のリストを含むテーブル 'XYZ' と、リンクを記録するヘッダー テーブル 'ABC' にもあるフィールド UniqueAttchID があるので、レコードに関連する添付ファイルをクエリできます。

ヘッダーで UniqueAttchID が等しいすべてのレコードの結果を取得し、それらをヘッダー 'ABC' に戻す必要があります。'udAttch' と呼ばれるフィールドは、区切り文字でフォーマットされたメモ フィールドです。

これは、関連するテーブルではなくデータベースの実際のフィールドしか使用できないため、使用できるレポート機能の制限を回避するためです。

現在のセットアップ:-

XYZ Table
UniqueAttchID    OrigFileName
----------      -------------
18181818181   |   Filename1
18181818181   |   Filename2
18181818181   |   Filename3
18181818182   |   Filename1
ABC Table - 
Description|Field2|UniqueAttchID|
test item  |test  |18181818181
Test item 2|test2 |18181818182 

望ましい結果:-
(XYZ テーブルは変更されません)

ABC Table - 
Description|Field2|UniqueAttchID|udAttch|
test item  |test  |18181818181  |Filename1, Filename2, Filename3|
Test item 2|test2 |18181818182  |Filename1|

COALESCE を使用してみましたが、UniqueAttchID ごとに個別のレコードが得られず、すべてのレコードに対して 1 つだけであり、SELECT DISTINCT は OrigFileName の最初のレコードのみを生成しました

その後、必要に応じて実行するストアド プロシージャを生成し、新しいファイルが添付ファイルとして追加されたときにレコードを更新できます。

4

1 に答える 1

0

してみてください:

select 
    *, 
    STUFF((SELECT ',' + OrigFileName
       FROM XYZ b WHERE b.UniqueAttchID=a.UniqueAttchID
        FOR XML PATH(''),type).value('.','nvarchar(max)'),1,1,'') AS [udAttch]
From ABC a
于 2013-05-14T09:16:07.680 に答える