Jump to content
Madeline67

Commande en attente de réapprovisionnement - Requête SQL

Recommended Posts

Bonjour à tous !

 

Me revoilà avec un casse-tête !

 

Il s'agit d'une requête SQL (que j'exécute directement dans la BDD de Prestashop), j'ai du mal à arriver à ce que je veux...

Mon but : Afficher le numéro de commande et la (les) référence(s) produit des commandes qui sont actuellement en attente de réapprovisionnement.

 

Si j'utilise cette requête :

SELECT ps_order_history.id_order, ps_order_history.id_order_state, `date_add`
FROM ps_order_history
GROUP BY `id_order`
ORDER BY `date_add` DESC

 

Je ne peux pas mettre le "WHERE ps_order_history.id_order_state = 9", car la syntaxe SQL ne le permet pas.

 

Si j'utilise cette requête :

SELECT ps_order_history.id_order, ps_order_history.id_order_state,  MIN(ps_order_history.date_add) AS LastDate, ps_order_detail.product_reference, ps_order_detail.product_quantity_in_stock, ps_product.quantity
FROM ps_order_history, ps_order_detail, ps_product
WHERE ps_order_history.id_order = ps_order_detail.id_order
AND ps_product.id_product = ps_order_detail.product_id
AND ps_product.quantity < 0
GROUP BY ps_order_detail.id_order, ps_order_detail.product_reference ,ps_order_history.id_order, ps_order_history.id_order_state
HAVING (((ps_order_history.id_order_state)=9));

 

Ca ne va pas car il m'affiche toutes les commandes qui ont eu le statut en attente de réappro. et non pas celles qui l'ont comme statut actuel.

 

Bref c'est à s'arracher les cheveux. J'ai aussi essayé avec des requêtes imbriquées mais ne suis pas parvenue au résultat voulu.

 

Est-ce que quelqu'un a déjà fait ça ? ou saurait me donner des pistes ?

Je ne suis pas une débutante en SQL mais là à force d'essayer je tourne en rond...

 

Merci d'avance pour ceux qui s'intéresseront à ma demande.

 

Bonne journée,

Share this post


Link to post
Share on other sites

Si je fais :

SELECT id_order, id_order_state, date_add
FROM ps_order_history
WHERE ps_order_history.date_add = (SELECT MAX(ps_order_history.date_add) FROM ps_order_history WHERE ps_order_history.id_order_state = 9)

 

Il ne retourne d'un enregistrement (au lieu de 2), pourquoi ? je n'ai pourtant pas de GROUP BY sur id_order_state...

Share this post


Link to post
Share on other sites

Bonjour,

Avez vous trouvé une solution qui fonctionne?

Je suis ce poste car, je cherche une requete qui doit me retourne QUE les commandes en cours de livraison.

Share this post


Link to post
Share on other sites

Bonjour

 

Déplacement  du topic dans le forum Développement et adaptation de Prestashop qui semble plus pertinent pour avoir des réponses.

Edited by Oron (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More