phpbar.de logo

Mailinglisten-Archive

AW: Select anhand mehrer Felder

AW: Select anhand mehrer Felder

Stammler, Peggy (Frankfurt) mysql_(at)_lists.phpcenter.de
Wed, 25 Jul 2001 11:36:40 +0200


hm, ich wüsste da jetzt auf die schnelle auch nur eine ausweichlösung.
man könnte doch in tab2 eine spalte hinzufügen, die das flag für aktiv
oder inaktiv ist (also wohnt dort, ist weggezogen), und somit also nicht
den datensatz löschen, sondern dann tab3.flag_aktiv=N setzen, und
so könnte man dann abfragen:
select * from tab3 where tab3.id=tab2.id and tab2.flag_aktiv=N;

ich hoffe, das dies vielleicht hilfreich ist.

Liebe Grüsse
Peggy 

> -----Ursprüngliche Nachricht-----
> Von:	Dietmar Möller [SMTP:didi_(at)_jubu.de]
> Gesendet am:	Mittwoch, 25. Juli 2001 11:19
> An:	mysql-de_(at)_lists.4t2.com
> Betreff:	Re: Select anhand mehrer Felder
> 
> 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 

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



php::bar PHP Wiki   -   Listenarchive