2013-03-14 58 views
0

我用SYSBASE,我這裏有一個表,顯示遇到NULL值

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  

就是選擇了所有的「 aa「和」bb「屬性,如果該id沒有aa屬性或bb屬性,則將其保留爲空。 我想聯盟對我來說很有用,但任何人都可以幫助我呢?

+0

這是[標籤:SYBASE-ASA],[標籤:SYBASE-ASE],[標籤:SYBASE智商]或[標籤:SQLAnywhere的] ?試圖清理[標籤:sybase]標籤... – 2013-03-15 07:44:00

回答

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 
+0

爲我工作,thx。 – CharlieShi 2013-03-14 10:26:37