0

複数のテーブルを結合する T-SQL クエリがあります。私はそれをSSRSでデータセットクエリとして使用しています。ID と Names の 2 つの列のみを選択しています。「ID」の値は同じですが、「名前」の値が 3 つ異なる 3 つのレコードがあります。SSRS では、最初の「名前」の値を取得しています。3 つの値すべてを同じ ID で連結し、それをテーブルの 1 つのセルに含める必要があります。

どうすればそれを行うことができますか?

ルックアップを使用してキューブと SQL を組み合わせています テーブルから ID を直接取得していますが、Names の Case ステートメントを使用してエイリアスを定義しています。

4

1 に答える 1

1

これは TSQL でPIVOTを使用して個別の列として取得し、レポート セルで結合するか、これらの連結方法のいずれかを使用して 1 つの列にすべての名前を取得することで実現できます。

たとえば、次のようにできます。

SELECT  SomeTableA.Id,
        STUFF(
          (SELECT ',' + SomeTableB.Names AS [text()]
           FROM SomeTable SomeTableB
           WHERE SomeTableB.Id = SomeTableA.Id
                    FOR XML PATH('')), 1, 1, '' )
        AS ConcatenatedNames
FROM  SomeTable SomeTableA
INNER JOIN AnotherTable
  ON SomeTableA.Id = AnotherTable.SomeId
...
于 2012-08-29T21:31:57.620 に答える