为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:window11
【CPU】:
【问题描述】*:在知道模式名和表名情况下,查询表中所有列的元数据,但是在不同的模式中,如果存在相同的表名称,则会导致出现重复的列元数据,这种情况怎么解决,下面是我的sql
SELECT A.*,B.*,CASE WHEN C.COLUMN_NAME IS NOT NULL THEN 'Y' ELSE 'N' END AS IS_PRIMARY_KEY,
E.INFO2
FROM SYS.USER_TAB_COLUMNS A
LEFT JOIN SYS.USER_COL_COMMENTS B
ON A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME
LEFT JOIN
(
SELECT COLUMN_NAME FROM USER_CONS_COLUMNS WHERE CONSTRAINT_NAME IN
(
SELECT CONSTRAINT_NAME FROM SYS.USER_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'P' AND TABLE_NAME = '表名'
)
)C
ON A.COLUMN_NAME = C.COLUMN_NAME
JOIN SYSOBJECTS D ON A.TABLE_NAME = D.NAME
JOIN SYS.SYSCOLUMNS E ON D.ID = E.ID AND A.COLUMN_NAME = E.NAME
WHERE
A.TABLE_NAME = '表名' AND B.OWNER = '模式名';
看看这个满足需求吗