Scusa che errore?Con quella query ottengo errore.
Se non lo indichi come ti si può aiutare?
Scusa che errore?Con quella query ottengo errore.
Se non lo indichi come ti si può aiutare?
eseguo la query su prestashop. mi dice semplicemente "error"
Allora...
1) se hai la possibilità esegui la query direttamente sul database e posta l'errore;
2) ti hanno già detto che non puoi usare UNION perché le query hanno colonne diverse (ma in ogni caso non credo che unire le query porti al risultato che ti aspetti);
3) Se hai intenzione di relazionare i dati della prima query a quelli della seconda hai solo due possibilità:
a) Esegui due query separatamente e relazioni i dati ottenuti tramite codice;
b) Esegui un'unica query che ti dia i dati già relazionati usando JOIN su tutte le tabelle interessate dalla SELECT.
4) Se (per assurdo) non ti interessa relazionare tra loro i dati delle due query allora semplicemente eseguile separatamente (anche con unico accesso al DB: basta separarle con ";")
Eseguendo la query in phpmyadmin non dà errore ma ottengo un unico risultato con il nome di un solo prodotto e le quantità sommate
Ok, se ottieni una sola riga è per via del COUNT.
Quindi, se vuoi mantenere la struttura così com'è devi aggiungere un "GROUP BY" relativo al campo che ti interessa.
Ad esempio se vuoi mostrare tutti i prodotti puoi usare:
Se invece vuoi mantenere tutte le righe ed aggiungere il COUNT in ognuna dovrai sostituire "COUNT(OD.id_order)" con una subquery.codice:SELECT P.reference as Code, PL.`name` as Product_Name, COUNT(OD.id_order) as ordered_qty, o.`id_order` as 'order id' ,ad.`city` as 'Delivery_Address' FROM ps_product P LEFT JOIN ps_product_lang PL ON P.id_product = PL.id_product LEFT JOIN ps_order_detail OD ON P.id_product = OD.product_id LEFT JOIN ps_orders O ON O.id_order = OD.id_order join `ps_customer` cs on o.`id_customer`=cs.`id_customer` join `ps_address` ad on o.`id_address_delivery`=ad.`id_address` WHERE O.valid = 1 GROUP BY Product_Name order by ad.city
ho eseguito la query e funziona per metà perchè non mi suddivide ke quantità acquistate cioè:
un prodotto può essere stato acquistato 2 volte dall'america e 3 volte dal giappone mentre con questa query mi dice 5 volte dal giappone
Puoi provare ad aggiungere un ulteriore raggruppamento (o ti rimane sempre l'alternativa della subquery)
Prova
codice:GROUP BY Product_Name, 'Delivery_Address'