CREATE TABLE T(FIELDNAME VARCHAR(1), FIELDCONTENT VARCHAR(9))INSERT INTO T 
SELECT 'a' , 'a1content'  FROM DUAL UNION ALL
SELECT 'b' , 'b1content'  FROM DUAL UNION ALL
SELECT 'c' , 'c1content'  FROM DUAL UNION ALL
SELECT 'a' , 'a2content'  FROM DUAL UNION ALL
SELECT 'b' , 'b2content'  FROM DUAL UNION ALL
SELECT 'c' , 'c2content'  FROM DUAL UNION ALL
SELECT 'a' , 'a3content'  FROM DUAL UNION ALL
SELECT 'c' , 'c3content'  FROM DUALSELECT  NUM, A, B, C
FROM
(SELECT T1.NUM, A.A, B.B, C.C
FROM
(SELECT ROWNUM NUM
FROM    T)  T1,
(SELECT ROWNUM NUM, FIELDCONTENT A
FROM    T
WHERE   FIELDNAME = 'a')  A,
(SELECT ROWNUM NUM, FIELDCONTENT B
FROM    T
WHERE   FIELDNAME = 'b')  B,
(SELECT ROWNUM NUM, FIELDCONTENT C
FROM    T
WHERE   FIELDNAME = 'c')  C
WHERE   T1.NUM = A.NUM(+)
AND     T1.NUM = B.NUM(+)
AND     T1.NUM = C.NUM(+)
ORDER BY T1.NUM) T
WHERE (NOT A IS NULL) OR (NOT B IS NULL) OR (NOT C IS NULL)不明白你为啥有这种要求