Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Rezepte finden wo Zutat nicht vorhanden

Begonnen von NoFear23m, April 02, 2011, 09:44:45

⏪ vorheriges - nächstes ⏩

NoFear23m

Hallo Database

Genau das wars!!

Vielen dank. Habe einfach schon zuuu lange nix mehr mit SQL gemacht.

HAbe nun diese Abfrage
SELECT tblRezepte.ID FROM tblRezepte
WHERE tblRezepte.ID Not In (SELECT tblZutaten.RezeptID FROM tblZutaten WHERE tblZutaten.Zutat LIKE'*Salz*');


Funzt einfach super. ICh bau das mal in den Code ein, damit man komfortabel Suchen kann.
Danke allen natürlich für Ihre Antworten, ich habt mir alle sehr geholfen. Schöne das sich an diesem Forum in der Zeit nix verändert hat. Immernoch so gut wie früher. *g*

Schöne Grüße aus Wien
Sascha

Diese Ausstrahlung! Dieses Lächeln! Diese Intelligenz!
Diese Wunderschönen Augen! Aber genug von mir. Wie geht's Dir?

Accspert

Hallo Forum
dies scheint ja schon ein älterer thread zu sein, aber scheinbar immer noch ungelöst. Ich habe eine sehr ähnliche Frage, habe diese auch schon sehr vielen "Experten" im Netz gestellt, keiner konnte es lösen. Im Anhang seht ihr 3 Tabellen. Rezepte, Zutaten, Produkte. Simple Frage aber doch schwer zu lösen. Wie muss das Query aussehen, das mit angibt welche Rezepte ich aufgrund von ausreichenden Zutaten kochen kann. Ich habe es mit 4 Queries geschafft. Nur eins wäre wirklich eine Meisterleistung.

ebs17

#17
Zitataufgrund von ausreichenden Zutaten
... heißt hier QtyNeeded kleiner gleich OnHand für das Produkt?
SELECT
   I.RecipeID
FROM
   (
      SELECT
         I.RecipeID,
         COUNT(I.ProductID) AS CountP
      FROM
         IngredientT AS I
            INNER JOIN ProductT AS P
            ON I.ProductID = P.ProductID
      GROUP BY
         I.RecipeID
   ) AS A
      INNER JOIN
         (
            SELECT
               I.RecipeID,
               COUNT(I.ProductID) AS CountP
            FROM
               IngredientT AS I
                  INNER JOIN ProductT AS P
                  ON I.ProductID = P.ProductID
                     AND
                  I.QtyNeeded <= P.OnHand
            GROUP BY
               I.RecipeID
         ) AS B
         ON A.RecipeID = B.RecipeID
            AND
         A.CountP = B.CountP
Mit freundlichem Glück Auf!

Eberhard

Accspert

#18
ja richtig oder andersrum Produkte sind ausreichend, wenn OnHand (Im Lager) grösser oder gleich QtyNeeded (gebraucht) ist.

das sql sieht gewaltig aus. Muss man jetzt I. mit der Ingriedients tabelle ersetzen ?

Wahnsinn das funktioniert. Würde zu gerne wissen wie du das gemacht hast.

ebs17

Zitatwie du das gemacht hast
(1) Überlegen. Idee: Anzahl der Produkte pro Rezept gleich der Anzahl der Produkte, wo zusätzlich die Menge passt.
(2) Schreiben. Technik: Grundlagen - SQL ist leicht (6) - Komplexe Abfragen schreiben und lesen
Mit freundlichem Glück Auf!

Eberhard