Abfrage über mehrere Tabellen mit gl. Spalten

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfrage über mehrere Tabellen mit gl. Spalten

Beitrag von RobertG »

Hallo Gast_V,
Gast_V hat geschrieben: Also, ich habe mehrere Tabellen, die alle die selben Spalten nur mit verschiedenem Inhalt besitzen.
Bei den Spalten handelt es sich um Kunde, Betriebsort, Umsatz, Deckungsbeitrag und noch ein paar Infospalten.
Ich möchte aus jeder Tabelle die Spalten Kunde, Betriebsort, Umsatz, und Deckungsbeitrag angezeigt bekommen, aber nur die Zeilen, bei denen der Deckungsbeitrag > 50 ist.

Code: Alles auswählen

SELECT "BSt", "Kunde", "A_Umsatz_13", "DB_Euro_13" FROM "Allach", "Ingolstadt" WHERE "DB_Euro_13" > 50  
Geht nicht, weil Du da zwar zwei Tabellen angibst, die aber nebeneinander darstellst. Diese Form verbindet zwei (unterschiedliche) Tabellen über einen Verbindungsschlüssel. Der steht dann in der WHERE ... - Definition. Ohne diese Definition multiplizierst Du die Anzahl der einen Tabelle mit der anderen.

Code: Alles auswählen

SELECT "BSt", "Kunde", "A_Umsatz_13", "DB_Euro_13" FROM "Allach" WHERE "DB_Euro_13" > 50  UNION SELECT "BSt", "Kunde", "A_Umsatz_13", "DB_Euro_13" FROM "Ingolstadt" WHERE "DB_Euro_13" > 50
zeigt Dir untereinander die Inhalte beider Tabellen an. Zu Details siehe das Handbuch, dort besonders das Kapitel "Abfragen" mit dem Unterkapitel "Abfrageerweiterung im SQL-Modus".

Gruß

Robert
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfrage über mehrere Tabellen mit gl. Spalten

Beitrag von RobertG »

Hallo Gast_V,

den Befehl kennt die grafische Benutzeroberfläche nicht. Du musst deshalb beim Abfrageentwurf die direkte Ausführung des SQL-Befehls anklicken - der Button ganz rechts.
Außerdem könnte es noch sinnvoll sein, UNION ein ALL hinzuzufügen. Wenn dies nicht der Fall ist, dann verschwinden Datensätze, die komplett identisch sind - habe das gerade noch einmal mit einer Tabelle und einer Kopie der gleichen Tabelle durchgetestet.

Gruß

Robert
Antworten