phpbar.de logo

Mailinglisten-Archive

Self Join

Self Join

Wolfgang Hauck wbh at euta.net
Mit Apr 23 15:48:19 CEST 2003


>Ich will aus einer Tabelle Vorgänge rauslösen, die auf einen 
bestimmten
>Anwender zutreffen, und da nur die, die ein bestimmtes Instrument
>(Klarinettenreparaturen) betreffen, nämlich die zuletzt 
bearbeiteten.
>Kapiert? ;-)

>Ich hab mich jetzt drübergemogelt mit der neuen 4.1 Version von 
mySQL.
>Da da ja Subselects möglich sind.

Hi Reinhold,

Ja jetzt hab ich immer noch nicht die Struktur und kapiert hab ichs 
auch noch nicht warum du da überhaupt ein Subselect auf die selbe 
Tabelle brauchst...

Einen Subselect kannst du so umschreiben:

SELECT a.* FROM tabelle1 as a LEFT JOIN tabelle2 as b 
USING(Kundennummer)
where a.Kundennummer = 'irgendwas'  ...

Ist auf alle Fälle schneller als ein Subselect
Bei nem Join auf die eigene Tabelle kommts drauf an...
Aber da hilft wirklich nur eine Beschreibung mit !!! Struktur.
was willst du mit sich selbst vergleichen?
Welche Felder sind betroffen?
Beispiel...

Es gibt wirklich nur ganz wenige Fälle in denen ein Subselect auf die 
eigene Tabelle notwendig ist...

MfG Wolfgang

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive