2016-07-01 8 views
0

Ich brauche Ihre Unterstützung für eine Abfrage in SQLite Studio. Ich habe es mit einer Datenbank zu tun, die von 1000 verschiedenen Tabellen erstellt wurde. Die Hälfte von ihnen (alle genannt "Nachrichten" + eine Identifikationsnummer, wie 04AD86) enthalten die Spalte "Kategorie", die mich interessiert. Diese Spalte kann von 100 bis 200 Datensätze für jede Tabelle haben. Können Sie mir eine Abfrage vorschlagen, die "Kategorie" aus jeder Tabelle extrahiert und eine Liste aller möglichen Kategorien (ohne doppelte Datensätze) zurückgibt? Vielen DankSQL-Abfrage zum Extrahieren einer Spalte aus vielen Tabellen

Antwort

0

Sie werden wahrscheinlich dynamische SQL benötigen, um dies in einer einzigen Abfrage zu behandeln. Wenn es Ihnen nichts ausmacht, dies über mehrere Abfragen hinweg zu tun, dann ist hier eine Option. Zuerst tut eine Abfrage all Tabellen zu erhalten, die die category Spalt enthalten:

SELECT name 
FROM sqlite_master 
WHERE type = 'table' AND name LIKE 'news%' 

nächste für die tatsächlichen Abfragen der einzigartigen Kategorien zu erhalten, können Sie eine Reihe von Gewerkschaften führen Sie Ihre Liste zu bekommen. Hier ist, was es würde so aussehen:

SELECT DISTINCT category 
FROM news04AD86 
UNION 
SELECT DISTINCT category 
FROM news 05BG34 
UNION 
... 

Das DISTINCT Stichwort Duplikate innerhalb beliebigen name Tabelle entfernen, und UNION werden Duplikate entfernen, die between eine Tabelle und eine andere auftreten kann.

Verwandte Themen