以下查询有效,但多次返回主键,而只有一个主键。请帮助我找到错误。谢谢。
SELECT INFORMATION_SCHEMA.COLUMNS.COLUMN_NAME, INFORMATION_SCHEMA.COLUMNS.DATA_TYPE,
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS ON
INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_CATALOG =
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.CONSTRAINT_CATALOG
AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA =
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA
AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME =
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.CONSTRAINT_NAME
RIGHT OUTER JOIN INFORMATION_SCHEMA.COLUMNS ON
INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME = INFORMATION_SCHEMA.COLUMNS.TABLE_NAME
AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME = INFORMATION_SCHEMA.COLUMNS.COLUMN_NAME
AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_CATALOG =
INFORMATION_SCHEMA.COLUMNS.TABLE_CATALOG
WHERE (INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = '#attributes.table#')
ORDER BY INFORMATION_SCHEMA.COLUMNS.ORDINAL_POSITION```
答案 0 :(得分:0)
在首次加入时再添加一个条件
AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME =
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.TABLE_NAME
区别也将起作用。