Ich lerne SQL unter Verwendung der gängigen Microsoft AdventureWorks2014
Beispieldatenbank in SQL Server 2014
.Wie wählt man alle nicht eindeutigen Spalten aus meiner DB aus?
Ich habe gerade über HAVING
und Information Schema
heute gelernt und versuche, die beiden zu kombinieren.
Grund sein, würde ich wirklich gerne schnell sagen, welche Spalten aus allen Tabellen geteilt werden. Das funktioniert:
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY COLUMN_NAME, TABLE_SCHEMA
Aber ... die Ausgabe gibt mir eindeutige Spaltennamen, die mich nur verlangsamt.
Ich habe die Anwendung Antworten versucht, aus "How to select non 'unique' rows" wie (unter 5-7 anderen SOF Seiten!):
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY COLUMN_NAME
HAVING COUNT(COLUMN_NAME) > 1
... aber ich bekomme diese Fehlermeldung:
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 column_name“ am Ende des Skripts Hinzufügen tat das Trick, danke! – SPR