Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Abfrage aus mehreren Tabellen





Frage

Hallo! Ich habe eine Datenbank, die mehrere Tabellen enthält. Jede Tabelle ist eine Teilnehmerliste mit unterschiedlichen Namen. Ich möchte nun die Daten aus allen Tabellen quasi zusammenführen: Es soll abgefragt werden, welche Kinder (also alle unterschiedlichen) in den Teilnehmerlisten stehen. Außerdem soll es eine Aussage darüber geben, in welchen Listen die Kinder stehen (nur in einer oder in mehreren der verschiedenen Teilnehmerlisten - also Teilnahme Ostern, Sommer, Fahrt usw.). Vielleicht kann mir jemand einen Tipp geben? Bin (wahrscheinlich erkennbar) Access-Neuling. Danke schon jetzt, Silvia

Antwort 1 von oliverV

Hallo Silvia,

du hast IMHO einen Fehler gemacht, indem du für jede Veranstaltung eine eigene Tabelle erstellt hast, die „richtigere“ Lösung wäre eine Teilnehmer-Tabelle mit einem weiteren Feld „Veranstaltung“ in dem du die Veranstaltung (Ostern, Sommer, usw.) erfasst.
Das Problem mit der gesamten Abfrage hat sich dann erledigt; die Teilnehmer einer Veranstaltung fragst du unter Verwendung eines Kriteriums ab (=“Ostern“).

Als Lösung für deine jetzige Situation benötigst du eine SQL-UNION-Abfrage, schau mal in der Online-Hilfe, ist recht gut erklärt.

z.B.
[Code]
SELECT tabOstern.Teilnehmer, „Ostern“ AS Veranstaltung FROM tabOstern
UNION SELECT tabSommer.Teilnehmer, “Sommer” AS Veranstaltung FROM tabSommer
ORDER BY Veranstaltung, Teilnehmer;
[/Code]

Gruß

Oliver


Antwort 2 von mapet

Vor der DB Erstellung sich einmal Gedanken machen über die Normalisierung der Daten. Konkret: alle Adressen in eine Tabelle (tbl_Adresse); Eine Tabelle Veranstaltung (Tbl_Veranstaltungen) diese mit einer Zwischentabelle n:m Verknüpfen, da die Möglichkeit besteht dass ein Teilnehmer an mehreren Veranstaltungen teilnimmt.