0

私はsysbaseを使用しており、ここにテーブルがあります。

id type value
1   aa    11
2   bb    22
2   bb    22
2   dd    44
3   aa    11
3   bb    22
4   dd    44

そして私はそれを次のように見せたいだけです:

id  aa  bb
1   11  
2       22
3   11  22
4       

つまり、すべてのIDのすべての「aa」および「bb」属性を選択します。IDにaa属性またはbb属性がない場合は、空白のままにします。ユニオンは私がそれをするのに役立つかもしれないと思いますが、誰かがこれについて私を助けることができますか?

4

1 に答える 1

0

これを試してみてください。希望する出力が100%になるとは限りませんが、作業を開始するのに適しています。

こちらでもご覧いただけます:http ://www.sqlfiddle.com/#!6 / f9eb8 / 1/0

SELECT
  P0.ID,
  ISNULL(MAX(P0.aa), '') as 'aa',
  ISNULL(MAX(P0.bb), '') as 'bb',
  ISNULL(MAX(P0.cc), '') as 'cc',
  ISNULL(MAX(P0.dd), '') as 'dd'
FROM
(
  SELECT
    ID,
    CASE type
      WHEN 'aa' THEN Value
      ELSE NULL
    END AS 'aa',
    CASE type
      WHEN 'bb' THEN Value
      ELSE NULL
    END AS 'bb',
    CASE type
      WHEN 'cc' THEN Value
      ELSE NULL
    END AS 'cc',
    CASE type
      WHEN 'dd' THEN Value
      ELSE NULL
    END AS 'dd'
  FROM
    blah
 ) P0
GROUP BY
  P0.ID
于 2013-03-14T09:03:07.010 に答える