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 回答