请帮助识别我在mysql查询中的错误

时间:2019-10-30 05:00:07

标签: mysql sql

以下查询有效,但多次返回主键,而只有一个主键。请帮助我找到错误。谢谢。

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```

1 个答案:

答案 0 :(得分:0)

在首次加入时再添加一个条件

AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME = 
INFORMATION_SCHEMA.TABLE_CONSTRAINTS.TABLE_NAME 

区别也将起作用。

相关问题