我正在学习使用SQL Server 2014
中的常见Microsoft AdventureWorks2014
示例数据库的SQL。如何从我的数据库中选择所有非唯一列?
我刚刚得知HAVING
和Information Schema
今天,我试图将两者结合起来。
原因是,我真的很想告诉迅速从所有表列共享。这个作品:
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY COLUMN_NAME, TABLE_SCHEMA
但是...输出给我的唯一列名只会减慢我。
我试着将答案从"How to select non 'unique' rows"如(中5-7其他SOF页面!):
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY COLUMN_NAME
HAVING COUNT(COLUMN_NAME) > 1
...但我得到这个错误:
Msg 8120, Level 16, State 1, Line 1 Column 'information_schema.columns.TABLE_SCHEMA' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
添加“ORDER BY列名”在脚本的最后做了绝招,谢谢! – SPR