Probleme mit sum() in MySQL

emmis

Grünschnabel
Hallo!!,

ich habe hier ein statement, dass nicht so richtig funktionieren will.


Code:
$sql_produkt = "SELECT *, sum(".SHOP2LAGERMENGETAB.".mengereal) AS summemengereal FROM ".SHOP2PRODUKTTAB.",".SHOP2PRODUKTTABEINZELTAB.",".SHOP2LAGERMENGETAB." where ".SHOP2PRODUKTTABEINZELTAB.".produkt_id=".SHOP2PRODUKTTAB.".id_produkt and ".SHOP2PRODUKTTABEINZELTAB.".lagermin2>0 and ".SHOP2LAGERMENGETAB.".produkteinzel_id=".SHOP2PRODUKTTABEINZELTAB.".id_produkt_einzel GROUP BY ".SHOP2PRODUKTTABEINZELTAB.".id_produkt_einzel";

Lässt man

Code:
sum(".SHOP2LAGERMENGETAB.".mengereal)
weg, dann funktionert das Statement wieder. sum() dürfte doch auf die Ergebnismenge keinen Einfluss haben, oder?
 
Hi,

Doch hat es. Sum() ist eine Aggregatfunktion (für Erklärungen siehe Hilfe). Dabei wird das Ergebnis eingeschränkt.

Was willst du denn mit deinem Query bezwecken (Ausganglage/Soll/Ist/...)?
 
Das Selectstatement soll zu einer Bestellvorschlagliste in einem Shop führen.

Dabei gibt es da die Produkt-Tab, dieser unter(zu)geordnet eine Produkt-Untertabelle, die die verschiedenen Eigenschaften (z.B. Größen, Farben) eines Produktes direkt beschreibt
PHP:
".SHOP2PRODUKTTABEINZELTAB.".produkt_id=".SHOP2PRODUKTTAB.".id_produkt
und die MINDESTBESTELLMENGE enthält, mit der die gesuchte Summe verglichen wird.

Die Summe stammt aus einer Tabelle, die die vorhandenen Mengen in unterschiedlich vielen Lagern enthält.
PHP:
".SHOP2LAGERMENGETAB.".produkteinzel_id=".SHOP2PRODUKTTABEINZELTAB.".id_produkt_einzel
Und diese Summe soll nun mit der MINDESTBESTELLMENGE eines Produktes/Eigenschaften verglichen werden. Wenn alles funktioniert kommt dann auch noch
PHP:
".SHOP2PRODUKTTABEINZELTAB.".lagermin2 <= ".SHOP2LAGERMENGETAB.".mengereal
zum Vergleichen hinzu.

Ich hoffe, ich konnte so da Problem etwas konkretisieren ... mit mehrern Selectstatements hätte ich schon eine Lösung gefunden, doch mit einem wäre es eleganter und a bisserl schneller ...
 
Zurück