Probleme mit Abfrage
am 18.05.2006 13:32:55 von Karsten Jacob
Hi NG.
Folgendes Problem:
Tabelle 'lkw':
Felder: zugnummer, kundennummer
Tabelle 'tankdaten':
Felder: getankte_liter, datum, zugnummer
Übergeben wird mit PHP eine Kundennummer. Ich möchte gerne aus der Tabelle
'tankdaten' alles Daten desjenigen LKW haben, dessen Kundennummer übergeben
wird.
Ist doch ganz einfach. Aber ich bin zu dämlich.
Kann mir einer bitte helfen?
Danke,
Karsten
Re: Probleme mit Abfrage
am 18.05.2006 13:56:54 von Christian Kirsch
Karsten Jacob schrieb:
> Hi NG.
>
> Folgendes Problem:
>
> Tabelle 'lkw':
> Felder: zugnummer, kundennummer
>
> Tabelle 'tankdaten':
> Felder: getankte_liter, datum, zugnummer
>
> Übergeben wird mit PHP eine Kundennummer. Ich möchte gerne aus der Tabelle
> 'tankdaten' alles Daten desjenigen LKW haben, dessen Kundennummer übergeben
> wird.
>
> Ist doch ganz einfach. Aber ich bin zu dämlich.
Wie sieht denn die Abfrage aus, die nicht funktioniert?
Bitte nur das SQL, ohne PHP.
Re: Probleme mit Abfrage
am 18.05.2006 13:58:12 von Thomas Rachel
Karsten Jacob wrote:
> Tabelle 'lkw':
> Felder: zugnummer, kundennummer
>
> Tabelle 'tankdaten':
> Felder: getankte_liter, datum, zugnummer
>
> Übergeben wird mit PHP eine Kundennummer. Ich möchte gerne aus der
> Tabelle 'tankdaten' alles Daten desjenigen LKW haben, dessen Kundennummer
> übergeben wird.
Deine Umlaute sind kaputt. Siehe www.oe-faq.de für Abhilfe.
> Ist doch ganz einfach. Aber ich bin zu dämlich.
>
> Kann mir einer bitte helfen?
SELECT FROM lkw JOIN tankdaten USING (zugnummer) WHERE
kundennummer=
HTH
Thomas
Re: Probleme mit Abfrage
am 18.05.2006 14:24:26 von Sibylle Koczian
Karsten Jacob schrieb:
> Hi NG.
>=20
> Folgendes Problem:
>=20
> Tabelle 'lkw':
> Felder: zugnummer, kundennummer
>=20
> Tabelle 'tankdaten':
> Felder: getankte_liter, datum, zugnummer
>=20
> Übergeben wird mit PHP eine Kundennummer. Ich möchte gerne aus der =
Tabelle=20
> 'tankdaten' alles Daten desjenigen LKW haben, dessen Kundennummer übe=
rgeben=20
> wird.
>=20
> Ist doch ganz einfach. Aber ich bin zu dämlich.
>=20
Es sieht einfach aus. JOIN oder eine Unterabfrage (MySQL hinreichend
neu?) sollte es tun:
SELECT l.zugnummer, t.getankte_liter, t.datum
FROM lkw l INNER JOIN tankdaten t ON l.zugnummer =3D t.zugnummer
WHERE l.kundennummer =3D
bzw.
SELECT zugnummer, getankte_liter, datum FROM tankdaten
WHERE zugnummer IN (SELECT zugnummer FROM lkw WHERE kundennummer =3D
)
Aber schau Dir JOIN und Unterabfragen im Handbuch an; ist wahrscheinlich
lokal auf Deinem Rechner installiert, ersatzweise
http://dev.mysql.com/doc/refman/5.0/en/index.html
Man braucht JOIN alle fünf Minuten und Unterabfragen lassen sich auch
oft einsetzen.
--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE
Re: Probleme mit Abfrage
am 18.05.2006 14:47:16 von thborsdorf
Hi!
Sibylle Koczian schrieb am 18.05.2006 14:24:
> SELECT l.zugnummer, t.getankte_liter, t.datum
> FROM lkw l INNER JOIN tankdaten t ON l.zugnummer = t.zugnummer
> WHERE l.kundennummer =
....und wenn du die Zugnummer wissen willst auch wenn es KEINE Tankdaten
gibt:
SELECT l.zugnummer, t.getankte_liter, t.datum
FROM lkw l LEFT OUTER JOIN tankdaten t ON l.zugnummer = t.zugnummer
WHERE l.kundennummer =
MfG Thomas.
Re: Probleme mit Abfrage
am 18.05.2006 15:21:35 von Karsten Jacob
> Sibylle Koczian schrieb am 18.05.2006 14:24:
>> SELECT l.zugnummer, t.getankte_liter, t.datum
>> FROM lkw l INNER JOIN tankdaten t ON l.zugnummer = t.zugnummer
>> WHERE l.kundennummer =
>
Super, die Abfrage von Sibylle war genau das, was ich brauchte.
Vielen Dank,
Karsten