von _Alain_ » Sa, 01.01.2011 10:03
Habe jetzt die ganze Abfrage nochmals im Entwurfsmodus aufgebaut und siehe da jetzt geht's auf einmal.
Hier die beiden Codevarianten (ausser der Reihenfolge der Bedingungen und Statements kann ich keinen Unterschied feststellen):
Code: Alles auswählen
//Funktionierende Variante
SELECT "Zutaten"."Zutatenname", SUM( "Rezeptzusammenstellung"."Menge" * "Auftragzusammenstellung"."Anzahl_Personen" ), "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
FROM "Auftragzusammenstellung" AS "Auftragzusammenstellung", "Auftraege" AS "Auftraege", "Rezeptzusammenstellung" AS "Rezeptzusammenstellung", "Zutaten" AS "Zutaten", "Einheiten" AS "Einheiten"
WHERE "Auftragzusammenstellung"."AuftragsID" = "Auftraege"."ID" AND "Rezeptzusammenstellung"."ZutatenID" = "Zutaten"."ID" AND "Zutaten"."EinheitenID" = "Einheiten"."ID" AND "Rezeptzusammenstellung"."RezeptID" = "Auftragzusammenstellung"."Auftrag_RezeptID"
GROUP BY "Zutaten"."Zutatenname", "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
ORDER BY "Zutaten"."Zutatenname" ASC
//Nicht funktionierende Variante
SELECT "Zutaten"."Zutatenname", SUM ( "Auftragzusammenstellung"."Anzahl_Personen" * "Rezeptzusammenstellung"."Menge" ), "Auftragzusammenstellung"."AuftragsID" , "Einheiten"."Einheitenname"
FROM "Rezeptzusammenstellung" AS "Rezeptzusammenstellung", "Zutaten" AS "Zutaten", "Auftragzusammenstellung" AS "Auftragzusammenstellung", "Auftraege" AS "Auftraege", "Einheiten" AS "Einheiten"
WHERE "Auftraege"."ID" = "Auftragzusammenstellung"."AuftragsID" AND "Auftragzusammenstellung"."Auftrag_RezeptID" = "Rezeptzusammenstellung"."RezeptID" AND "Rezeptzusammenstellung"."ZutatenID" = "Zutaten"."ID" AND "Zutaten"."EinheitenID" = "Einheiten"."ID"
GROUP BY "Zutaten"."Zutatenname" , "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
ORDER BY "Zutaten"."Zutatenname" ASC
Frage: Die Reihenfolge der Bedingungen sollte doch keine Rolle spielen oder ?
Gruss
Alain
Habe jetzt die ganze Abfrage nochmals im Entwurfsmodus aufgebaut und siehe da jetzt geht's auf einmal.
Hier die beiden Codevarianten (ausser der Reihenfolge der Bedingungen und Statements kann ich keinen Unterschied feststellen):
[code]//Funktionierende Variante
SELECT "Zutaten"."Zutatenname", SUM( "Rezeptzusammenstellung"."Menge" * "Auftragzusammenstellung"."Anzahl_Personen" ), "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
FROM "Auftragzusammenstellung" AS "Auftragzusammenstellung", "Auftraege" AS "Auftraege", "Rezeptzusammenstellung" AS "Rezeptzusammenstellung", "Zutaten" AS "Zutaten", "Einheiten" AS "Einheiten"
WHERE "Auftragzusammenstellung"."AuftragsID" = "Auftraege"."ID" AND "Rezeptzusammenstellung"."ZutatenID" = "Zutaten"."ID" AND "Zutaten"."EinheitenID" = "Einheiten"."ID" AND "Rezeptzusammenstellung"."RezeptID" = "Auftragzusammenstellung"."Auftrag_RezeptID"
GROUP BY "Zutaten"."Zutatenname", "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
ORDER BY "Zutaten"."Zutatenname" ASC
//Nicht funktionierende Variante
SELECT "Zutaten"."Zutatenname", SUM ( "Auftragzusammenstellung"."Anzahl_Personen" * "Rezeptzusammenstellung"."Menge" ), "Auftragzusammenstellung"."AuftragsID" , "Einheiten"."Einheitenname"
FROM "Rezeptzusammenstellung" AS "Rezeptzusammenstellung", "Zutaten" AS "Zutaten", "Auftragzusammenstellung" AS "Auftragzusammenstellung", "Auftraege" AS "Auftraege", "Einheiten" AS "Einheiten"
WHERE "Auftraege"."ID" = "Auftragzusammenstellung"."AuftragsID" AND "Auftragzusammenstellung"."Auftrag_RezeptID" = "Rezeptzusammenstellung"."RezeptID" AND "Rezeptzusammenstellung"."ZutatenID" = "Zutaten"."ID" AND "Zutaten"."EinheitenID" = "Einheiten"."ID"
GROUP BY "Zutaten"."Zutatenname" , "Einheiten"."Einheitenname", "Auftragzusammenstellung"."AuftragsID"
ORDER BY "Zutaten"."Zutatenname" ASC[/code]
[b]Frage:[/b] Die Reihenfolge der Bedingungen sollte doch keine Rolle spielen oder ?
Gruss
Alain