Zitat von
marabu:
SQL-Code:
SELECT a.bezeichnung, a.preis, IF(b.kundennr, 'mahlzeit', '...')
FROM artikel a
LEFT OUTER JOIN bestellungen b ON a.artikelnr = b.artikelnr
WHERE a.datum = :date
AND b.kundennr = :kunde
Ich habe das jetzt mal ausprobiert, das liefert mir entweder nichts zurück falls für den Tag keine Bestellung vorliegt oder es liefert die Essen die bestellt wurden.
Zitat von
tomsel:
Noch'n Vorschlag:
falls dich die 'Mahlzeit' stört, könntest Du ja mit not exists arbeiten, das macht die
Query zwar etwas langsamer, aber wenn dein Server ordentlich auf Zack ist, macht das fast nix. Also: Finde alle Artikel, zu denen keine Bestellung des aktuellen Kunden existiert:
SQL-Code: markieren
select * from artikel a where a.Datum =
atum and not exists(select * from bestellte_artikel b where b.ArtikelNr = a.ArtikelNr and b.KundenNr = :Kunde)
Servus
Ähm ich glaube du hast mich da missverstanden, deshalb werde ich es noch mal genauer erklären. Pro Tag gibt es sagen wir mal 4 Essen, von denen sich jeder Kunde maximal 1 aussuchen darf. Und die Abfrage soll alle 4 Essen auflisten und in einer zusätzlichen Spalte dann ausgeben, ob der gerade eingeloggte Kunde dieses Essen bestellt hat oder nicht.
Z.B.
Essen1 ja
Essen2 nein
Essen3 nein
Essen4 nein
In diesem Beispiel steht Essen für alle Daten zum jeweiligen Essen wie Bezeichnung Preis usw.
Danke noch mal für eure Mühen
Fran