我使用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属性,则将其保留为空白。 我想也许工会对我来说很有帮助,但是任何人都可以帮助我吗?
答案 0 :(得分: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