Mailinglisten-Archive |
On Wed, Jun 26, 2002 at 04:14:25AM +0200, Frank Liebelt wrote:
> Hallo,
>
> Ich habe zwei Tabellen
> Tab1: Name Nachname
> Tab2: Name Strasse
>
> Wenn ich folgende Abfrage stellen bekomme ich alle Ergebnisse doppelt.
> Das Ergebnis ist zwar OK nur möchte ich es nicht doppelt haben.
> Woran könnte das liegen ?
>
> SELECT a.name,a.nachname,b.strasse FROM kunden1 as a,kunden2 as b WHERE
> a.name = ('Frank')
>
> Frank
> Frank
> Liebelt
> Liebelt
> Buckelpiste
> Buckelpiste
klar dass das passiert. es wird ja schliesslich die matrix kunden1 x kunden2
durchiteriert ...
im klartext:
bei deiner abfrage ensteht erstmal eine tabelle, bei der jedes tupel
aus kunden1 mit jedem tupel aus kunden2 verknueft wird.
sei A eine tabelle mit A[0]..A[n] und B eine tabelle mit B[0]..B[m],
dann kommt da raus
A[0]:B[0]
A[1]:B[0]
A[2]:B[0]
...
A[n]:B[O]
A[0]:B[1]
A[1]:B[1]
...
A[n]:B[1]
...
A[n]:B[m]
durch die where-clausel bleiben nur noch die drin, bei denen a.name
gleich 'Frank' ist.
hmm. vielleicht moechtest du noch irgentwie a mit b verknuepfen,
z.b. ueber name ?
~-n
--
Enrico Weigelt == metux ITS
Webhosting ab 5 EUR/Monat. Server-Housing ab 50 EUR/Monat.
www: http://www.metux.de/ phone: +49 36207 519931
email: contact_(at)_metux.de cellphone: +49 174 7066481
php::bar PHP Wiki - Listenarchive