phpbar.de logo

Mailinglisten-Archive

AW: Select-Abfrage aus 3 Tabellen
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: Select-Abfrage aus 3 Tabellen



hallo holger,

am besten kaufst du dir mal ein sql-buch - das hilft in jedem fall!
die abfrage wuerde z.B. lauten:

SELECT
tankstellen.plz,tankstellen.ort,tankstellen.tbez,tankstellen.str,...,karten.
kbez
FROM auswahl
LEFT JOIN tankstellen ON tankstellen.tid=auswahl.tid
LEFT JOIN karten ON karten.kid=auswahl.kid
ORDER BY tankstellen.plz

oder

SELECT
tankstellen.plz,tankstellen.ort,tankstellen.tbez,tankstellen.str,...,karten.
kbez
FROM auswahl,tankstellen,karten
WHERE tankstellen.tid=auswahl.tid AND karten.kid=auswahl.kid
ORDER BY tankstellen.plz

ist nach SQL nicht ganz das gleiche, aber duerfte beides das gewuenschte
ergebnis erzielen.
sinnvoll: wenn du abfragen ueber mehrere tabellen machst, stell den
feldnamen (object-like) den tabellennamen voran (z.b. tankstellen.plz) - das
macht die feldbezeichnung WIRKLICH eindeutig!

gruss,
peter.


> -----Ursprüngliche Nachricht-----
> Von: Holger Faustmann [mailto:fugazi_(at)_conne.net]
> Gesendet am: Montag, 7. Juni 1999 17:41
> An: mysql-de_(at)_lists.4t2.com
> Betreff: Select-Abfrage aus 3 Tabellen
>
> Ich habe folgende Tabellen:
>
> tankstellen
> -----------
> tid
> plz
> ort
> tbez
> str
> tel
> lkw
> mofr
> sa
> so
> beson
>
>
> karten
> ------
> kid
> kbez
>
>
> auswahl
> -------
> aid
> kid
> tid
>
> Ich möchte mit einer SQL-Abfrage eine Liste anzeigen lassen,
> nur leider bekomme ich die SQL-Abfrage nicht richtig hin.
>
> Hier mal die Formulierungen der Einzelabfragen:
>
> SELECT * FROM tankstellen WHERE plz like 'xxx%'
> ORDER BY plz
>
> ... zeigt mir ganz toll alle Tankstellen mit der
> Postleitzahl xxx... an.
>
> Nun möchte ich aber noch die dazugehörigen Karten anzeigen
> lassen, die Zuordung wird in der Tabelle "auswahl" gespeichert.
>
> aid	kid	tid
> 1	1	1
> 2	2	1
> 3	1	2
>
> die Abfrage:
>
> SELECT kbez FROM karten,auswahl where karten.kid =
> auswahl.kid and tid = $tid ORDER by kbez
>
> zeigt mir die Karten der Tankstelle mit der Nummer $tid
> an aber wie kann ich nur die beiden Abfragen verknüpfen?
>
> Also:
> Zeige alle Tankstellen mit der Postleitzahl xyz und die
> dazugehörigen Karten.
>
> Vielleicht kann mir ja jemand auf die Sprünge helfen.
>
> Gruss Holger
>


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive