2016-04-27 2 views
-2

Ich versuche, Spaltennamen in unserer Datenbank auszuwählen, und ich bin mir nicht sicher, wie. Ich habe versucht, einige Lösungen auf Stack Social zu finden, aber ich konnte sie nicht zum Laufen bringen.Wie kann ich Spaltennamen in einem SQL Server mit einem ungeraden Schema nachschlagen?

Ist es angesichts des Schemas sogar möglich? Ich habe das Gefühl, dass es sein sollte, aber mein begrenztes Verständnis, wie ich die FROM-Klausel ändern kann, hindert mich daran, dies alleine zu tun. Unten ist ein Bild, um die Schwierigkeit, die ich habe, aufzuzeigen.

EDIT: Das Problem ist einzigartig darin, dass das Gesamtlayout unserer Datenbank sich stark von der Norm unterscheidet. Es scheint, geschachtelte Datenbanken zu sein, und ich war nicht sicher, wie man eine spezifische DB benutzt.

Die Use-Funktion funktionierte gut dafür, aber es ist nicht intuitiv von anderen Antworten. Zumindest kann das Bild in Zukunft jemandem helfen, der ein ähnliches Problem hat.

+0

Verwenden Sie Sys.Columns. Jede Datenbank hat keine eigene Spalte Tabelle. –

+0

Mögliches Duplikat von [Liste der Tabellen und Felder in jeder Datenbank abrufen] (http://stackoverflow.com/questions/420741/getting-list-of-tables-and-fields-in-e-ach-in- a-database) –

+0

Es kann mit sys.columns machbar sein, aber es ist nicht sehr intuitiv. Ich müde eine grundlegende Abfrage .. Select c.name als c, t.name wie t von sys.columns JOIN sys.tables t auf c.object_id = t.object_id bekam aber zwei Fehler: The Multi Die Teilkennung "c.object_id" konnte nicht gebunden werden. Die mehrteilige Kennung "c.name" konnte nicht gebunden werden. Wenn es eine Online-Ressource gibt, die besser ausarbeiten kann, wie die Lösung für die anderen Probleme zu interpretieren ist, würde ich den Link sehr schätzen. – laxpro2001

Antwort

0
Use RatManreport 
GO 

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%CD%' 
+0

Vielen Dank! Ich werde die Antwort akzeptieren, sobald sie es mir erlaubt (3 Minuten müssen passieren). Haben Sie zufällig einen Link zu einer Online-Ressource, wo ich selbst mehr darüber erfahren kann? Ich hasse es, andere um Hilfe zu bitten, weil ich mich faul fühle. Danke noch einmal! – laxpro2001

+0

MSDN ist dein Freund hier: https://msdn.microsoft.com/en-GB/library/ms186778.aspx –

+0

@Richard Hansell Danke. Ich sehe, dass die obige Lösung neu geschrieben werden kann, um die Use-Anweisung nicht zu erfordern, wenn die FROM-Anweisung wie folgt geschrieben wird: FROM DatabaseName.INFORMATION_SCHEMA.COLUMNS – laxpro2001

Verwandte Themen