Ilja: Mehrere Tabellen: Sätze zur Adresse zählen

Beitrag lesen

yo,

pro Adresssatz kann ich in mehreren Tabellen Datensätze haben:

ADRESSE
id nname  vname


11 Meyer Alfred

der name dieser tabelle ist ein wenig verwirrend, da letztlich dort personen (kunden ?) stehen. eventuell ist es nur ein auszug der tabelle, aber trotzdem habdelt es sich eher um personen und weniger um adressen

ANWESEMHEIT
id adress_id stunde


99 11        5
98 11        6
97 11        7

das sieht so aus, als wenn es sich um "von bis" zeiten handelt, und man könnte diese in einem datensatz zusammenfügen anstelle jede stunde festzuhalten. mich wundert, dass es kein datum gibt.

GESPRAECHSPARTNER
id besucher_id aussteller_id


55 11          4711
56 11          0815

EVENTWUENSCHE
id adress_id event_id


22 11        3215
23 11        6921

anwesenheit, gesprächspartner und eventwünsche könnte man eventuell zu einer tabelle (Treffen) zusammenfassen, falls sie alle in einer 1:1 beziehung stehen, sprich zu einem treffen ein gesprächparnter und ein eventwunsch. ist aber nur eine vermutung von mir, da müsste man dein umgebung besser kennen.

adress_id anz_stunden anz_partner anz_events


11        3           2           2

Habe es mit LEFT JOIN probiert, aber da potenziert sich die Anzahl der Datensätze unkontrolliert, die Summen sind zu hoch.

ist auch klar, weil die beziehungen fehlen, sprich zu welcher stunde hat er welchen gesprächpartner gehabt oder welche eventwünsche in welcher stunde. da diese beziehungen fehlen, nimmt er einfach alle möglichen kombinationen bei deinen join. wenn du wie oben bereits angesprochen alles in eine tabelle bekommst und es sich um 1:1 beziehungen handelt, dann löst sich das problem von ganz alleine.

nun aber genug genörgelt, zurück zu deiner abfrage. eine mögliche lösung, die mir spontan einfällt, ist der UNION operator, wobei ich mir bei mysql nicht sicher bin, aber welcher version es unterstützt wird. unterabfragen sollten es auch können, diese gehen aber definitiev erst ab 4.1+.

aber bevor man eine lösung ausarbeitet, vielleicht solltest du noch mal über die fehlenden beziehungen nachdenken.

Ilja