Ergebnis mit Tabellennamen

Hallo alle zusammen!

Wie bekomme ich ein SQL-Ergebnis mit Tabellennamen?

SELECT * FROM tabelle_name1, tabelle_name2;

Ergebnis:

hans 1123
meryer 555

Ich will aber das Ergebnis mit Tabellennamen:

tabelle_name1 hans 1123
tabelle_name2 meryer 555

Ich muss beim Verarbeiten der Ergebnisse wissen aus welcher Tabelle die Reihe stammt.

Das Statement “SELECT * tabelle_name1, tabelle_name2” ist nicht korrekt und wird so nicht laufen.

Kannst Du uns das richtige Statement zeigen? Idealerweise mit der Definition der Tabellen?

Ich verstehe nicht ganz was Du eigentlich erreichen willst.

SELECT * FROM tabelle_name1, tabelle_name2;

Wirklich? Ein kartesisches Produkt zwischen den beiden Tabellen? Bei jeweils 100 Datensätzen wären das 10000 Datensätze als Resultat. Ist es wirklich dass was Du willst? Meinst Du vielleicht eigentlich ein UNION?

Ne,

ich möchte 2 Tabellen gleichzeitig auslesen und der Zeit nach ordnen.
Und dann vearbeiten.

Ich habe mehrere Anmeldelisten die ich zusammenfassen muss und dann verarbeiten.
z.B. tabelle_kindergarten, tabelle_Hauptschule, tabelle_Sonderschule, etc…
Jede Anmeldung soll der reine Nach abgearbeitet werden.

Ich weiß nicht welche “Reine” Du meinst, aber Du willst wohl ein UNION, kein “cross join”:

select 'tabelle_kindergarten', *
from tabelle_kindergarten
union all
select 'tabelle_Hauptschule', *
from tabelle_Hauptschule
union all 
select tabelle_Sonderschule', *
from tabelle_Sonderschule

Das ist aber ein grauenhaftes Datenmodell (von der Namenskonvention mit dem Präfix “tabelle_” mal abgesehen)

Du solltest nur eine Tabelle “schule” haben, mit einer Spalten “typ_der_schule”, und dort steht dann “Hauptschule” oder “Kindergarten” drin.

Du solltest Dich mal über das Thema Datenbank Normalisierung schlau machen.

ERROR: each UNION query must have the same number of columns
LINE 4: select ‘table_login’, *

Leider habe ich keinen Einfluß auf die Tabelle nehmen.
Ich muss also irgend einen Weg finden.

Dann fülle die fehlenden Spalten halt mit

'' AS leereCharSpalte

oder

0 AS DummyIntSpalte

etc. auf…

cu tb

SELECT 0 AS DummyIntSpalte FROM Tabelle

Die Spalte muss nicht existieren und damit kann man fehlende Spalten auffüllen.