phpbar.de logo

Mailinglisten-Archive

Select anhand mehrer Felder

Select anhand mehrer Felder

Dietmar Möller mysql_(at)_lists.phpcenter.de
Wed, 25 Jul 2001 10:14:51 +0200


Hallo,
also dann versuch ichs nocheinmal zu erklären. (hab mich wohl nicht klar
genug ausgedrückt.)
Tabelle 1 enthält nur die Namen und das Geburtstadrtum
Tabelle 2 enthält nur die Postanschriften, wobei mehrere zu einer Person
gehören können
Tabelle 3 enthält nur die Kontaktdaten (Email, Telefon, Fax,....), wobei
mehrere zu einer person und zu einer Adresse gehören können. (enthält ID der
Person und ID der Adresse)

Ein Beispiel:
Person A wohnt in Ort A und ist dort erreichbar unter Kontakt x,y,z. Diese
Person wohnt jedoch (z.B. wegen Studium) an Ort B und ist dort erreichbar
unter Kontakt g,h,i.
Die Zudordnung der Kontakte zu den Adressen ist deshalb auch wichtig.
Wird nun Ort B der Peson A gelöscht, so sind die Kontakte g,h,i nicht weiter
über den Ort abrufbar, sondern nur noch über die Person.
Frage ich nun ab, welche Kontakte alle zu Person A gehören, dann bekomme ich
alle Kontakte, die dieser Person zugeordnet sind. Es sollen jedoch nur die
Kontakte g,h,i ausgegeben werden, die nun keinem Ort mehr zugeordnet sind,
aber der Person selbst noch.
Genau das habe ich bisher nicht hinbekommen. (ich bekomm immer entweder gar
nichts oder eine ewig lange Liste von sich wiederholenden Ausgaben)

Ich hoffe, dass mein Anliegen diesesmal genau genug beschrieben wurde, da
die bisherigen Antworten nutzlos waren, aufgrund eines falsch verstandenen
Problems.

Vielen Dank schon einmal
Gruß
Dietmar Möller





----- Original Message -----
From: Konrad Neitzel <Konrad.Neitzel_(at)_web.de>
To: <didi_(at)_jubu.de>
Sent: Wednesday, July 25, 2001 7:32 AM
Subject: Re: Select anhand mehrer Felder


> <didi_(at)_jubu.de> schrieb am 25.07.01:
>
> > mal wieder ein kleines Problem.
> > Ich habe ein Adressdatenbank folgendermaßen angelegt.
> > Tabelle1: Name,Vorname,Geburtsdatum, PersonID
> > Tabelle2: Adressdaten,PersonID,AdressenID
> > Tabelle3: Kontaktdaten(Art,Inhalt), KontaktID, AdressenID, PersonID
>
> Also ich verstehe Deinen Tabellenaufbau noch nicht! Du hast mit Tabellen 1
und 2 die Möglichkeit zu einer Person mehrere Adressen zu speichern. Wozu
brauchst Du Tabelle 3?? Sowas wie Tabelle 3 ist nur sinnvoll, wenn du eine
n:m Beziehung hast - dann sollte in 2 aber die PersonenID herausgenommen
werden!
>
> Und was ist nun dein Abfrage-Problem? Du willst alle Adressen einer Person
haben???
>
> SELECT * FROM 1,2 WHERE 1.PID = 2.PID AND Name="Schmidt" AND Vorname =
"OTTO";
>
> BZW: SELECT * FROM 1,2,3 WHERE 1.PID=3.PID AND 2.AID = 3.AID AND ....
>
> Statt dem SELECT 1,2 nimmst Du aber besser noch ein LEFT JOIN oder so ...
siehe Manual von MySQL.
>
> Konrad Neitzel
>
____________________________________________________________________________
__
> Sie surfen im Internet statt im Meer? Selbst schuld!
> Auf zum Strand: http://lastminute.de/?PP=1-0-100-105-1
>

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive