Probleme bei SQL-Abfrage
Hallo,
hab ein für mich rießen problem dass ich nicht hinbekomm!! es geht um eine Lebensmittel und Rezeptverwaltung. Ich brauch eine SQL - Abfrage, mit der ich Rezepte anzeigen kann, die aufgrund der passenden userID und ausreichend verfügbarer zutaten gekocht werden können. Folgende Datenbank-Tabellen existieren nutzer(userID, mail, passwort, nachname, vorname, geburtstag) rezept(rezeptID, name, beschreibung, userid) lebensmittel(lebensmittelID, bezeichnung, masseinheit) vorraete(userID, lebensmittelID, verfuegbareMenge) zutat(rezeptID, lebensmittelID, benoetigteMenge) Mit folgender SQL abfrage hab ich es selbst versucht aber es funktioniert nicht, Es werden mir immer Alle vorhandenen Rezepte ausgegeben.: SELECT DISTINCT rezept.rezeptid, rezept.name FROM rezept, zutat, vorraete where rezept.userid =1 and rezept.rezeptid = zutat.rezeptid and zutat.lebensmittelid = vorraete.lebensmittelid and vorraete.userid =1 and zutat.benoetigteMenge >= vorraete.verfuegbareMenge order by name wäre echt cool wenn mir einer helfen könnte Grüße Stefan |
AW: Probleme bei SQL-Abfrage
Hallo,
ich bin nicht der SQL-Experte, daher nur ein Gedanke. Funktioniert es, wenn Du die verwendeten Tabellen mit "JOINS" verknüpfst? Nach dem Motto: "Select ... FROM nutzer LEFT JOIN rezepte ON nutzer.userID=rezept.userID WHERE...". Du verknüpfst hier schließlich drei Tabellen. Da muss SQL doch wissen, über welche Felder diese Verknüpfungen funktionieren. Nur weil in den drei Tabellen die Bezeichnung "userID" vorkommt, muss das ja für SQL noch nicht bedeuten, dass hierüber auch die Verknüpfungen laufen. Du müsstest dann natürlich noch einen zweiten "LEFT JOIN" einbauen, um auch die dritte Tabelle zu verknüpfen. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:42:32 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.