我遇到了一些麻煩,使用了操作SUM的結果,它在where子句中稱爲「weight」。我會很感激你的幫助。下面是該查詢:在WHERE子句中使用SUM結果時出錯
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
到WHERE子句沒有SUM的結果,0值總是...如果我更換體重用10多家它完美的作品,例如值「重」而不是重量:
謝謝你們的時間!
那麼問題是什麼?什麼不起作用?它怎麼不工作? –
通常,SELECT子句中的非聚合列也應包含在GROUP BY子句中。請不要使用古老的連接語法。 – Strawberry
你好@SamiKuhmonen,在where子句中使用「weight」時的結果與我使用「0」時的結果相同,但weight值從不爲0,它必須是10,而且......我不知道爲什麼它不保留SUM值。 這個語法有什麼問題@Strawberry? –