Mailinglisten-Archive |
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