select *
from
(
SELECT ALL_TAB_COMMENTS.TABLE_NAME,
ALL_TAB_COMMENTS.COMMENTS
FROM ALL_TAB_COMMENTS
WHERE ( ALL_TAB_COMMENTS.OWNER = 'SCOTT' )
ORDER BY ALL_TAB_COMMENTS.COMMENTS , ALL_TAB_COMMENTS.TABLE_NAME
) a,
(
SELECT A.TABLE_NAME,
A.COLUMN_NAME,
A.COMMENTS ,
B.COLUMN_ID ID,
A.COMMENTS||' '||DECODE(C.CONSTRAINT_NAME,NULL,'','PK') PNAME,
DECODE(C.CONSTRAINT_NAME,NULL,'','PK') PK
FROM ALL_COL_COMMENTS A ,
ALL_TAB_COLUMNS B ,
(SELECT t.CONSTRAINT_NAME , s.TABLE_NAME , s.COLUMN_NAME
FROM
(SELECT CONSTRAINT_NAME
FROM ALL_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P' ) t ,
(SELECT CONSTRAINT_NAME ,
TABLE_NAME,COLUMN_NAME
FROM ALL_CONS_COLUMNS ) s
WHERE t.CONSTRAINT_NAME = s.CONSTRAINT_NAME ) C
WHERE ( A.OWNER = B.OWNER ) AND
( A.TABLE_NAME = B.TABLE_NAME ) AND
( A.COLUMN_NAME = B.COLUMN_NAME ) AND
A.TABLE_NAME = C.TABLE_NAME(+) AND
A.COLUMN_NAME = C.COLUMN_NAME(+)
ORDER BY A.TABLE_NAME,B.COLUMN_ID
) b
where a.TABLE_NAME = b.TABLE_NAME