Ich habe einige Probleme mit dem Ergebnis der Operation SUM, die "Gewicht" innerhalb der Where-Klausel genannt wird. Ich würde deine Hilfe schätzen. Hier ist die Abfrage:Fehler beim Verwenden von SUM Ergebnis in WHERE-Klausel
SELECT o.reference
, SUM(od.product_weight * od.product_quantity) weight
, SUM(od.total_price_tax_incl) total_paid_products
, d.price
, o.module
, rw.id_range_weight
FROM ps_orders o
, ps_order_detail od
, ps_product p
, ps_supplier s
, ps_delivery d
, ps_address a
, ps_state state
, ps_range_weight rw
WHERE o.id_order = od.id_order
AND p.id_product = od.product_id
AND s.id_supplier = p.id_supplier
AND o.id_address_delivery = a.id_address
AND a.id_state = state.id_state
AND d.id_zone = state.id_zone
AND d.id_range_weight = rw.id_range_weight
AND rw.delimiter1 <= weight
AND weight < rw.delimiter2
AND 5 = rw.id_carrier
AND p.id_supplier = 1
AND YEAR(o.date_upd) = 2016
AND MONTH(o.date_upd) = 5
AND o.current_state IN(2,3,4,5,15,16)
AND o.module IN('paypal','redsys','bankwire')
GROUP
BY o.reference
ORDER
BY o.date_upd DESC
Der Wert „Gewicht“ in die WHERE-Klausel nicht die Summe Ergebnis hat, wird der Wert 0 immer ... wenn ich Gewicht ersetzen für eine Reihe es perfekt funktioniert, Beispiel 10 unter Verwendung von statt Gewicht:
Danke Jungs für Ihre Zeit!
Also, was ist das Problem? Was funktioniert nicht? Wie funktioniert es nicht? –
Im Allgemeinen sollten nicht aggregierte Spalten in der SELECT-Klausel auch in der GROUP BY-Klausel enthalten sein. Und bitte verwenden Sie keine archaische Joinsyntax. – Strawberry
Hallo @ SamiKuhmonen, das Ergebnis, wenn ich "Gewicht" in der WHERE-Klausel verwenden, ist das gleiche wie wenn ich "0" verwenden, aber Gewicht Wert ist nie 0, muss 10 sein, und 1 ... Ich weiß nicht warum Es behält den SUMME-Wert nicht bei. Was ist falsch mit dieser Syntax @Strawberry? –