Jump to content

[RESOLU] Requete SQL sur table product_attribute


Recommended Posts

Bonjour,

 

Je souhaite récupérer la valeur max de la colonne quantity de la table product_attribute de mes produits pour les afficher sur la page  product.tpl avec mes déclinaisons.

Pour se faire j'utilise:

 

SELECT *, MAX(`quantity`) AS maxqty
FROM `'._DB_PREFIX_.'product_attribute`
WHERE '._DB_PREFIX_.'product_attribute.id_product = '._DB_PREFIX_.'product_lang.id_product
ORDER BY maxqty";
 
Sauf que le résutat de ma variable est vide.
Auriez vous une idée?
 
Edited by Cyrius91 (see edit history)
Link to comment
Share on other sites

Bonjour coeos.pro,

 

Merci pour ta réponse, j'ai passé pas mal de temps dessus et beaucoup de manipulations ces derniers jours et je n'avais pas vu sur cette requête ceci.

Je pense que ceci : '.intval($id_product).' serait plus approprié.

 

SELECT *, MAX(`quantity`) AS maxqty
FROM `'._DB_PREFIX_.'product_attribute`
WHERE '._DB_PREFIX_.'product_attribute.id_product = '.intval($id_product).'
ORDER BY maxqty

 

Je vais faire mes tests et vous dis ce qu'il en est.

 

Merci pour la remarque :)

 

Bon dimanche ;)

Link to comment
Share on other sites

  • 3 weeks later...

En terme d'optimisation ce n'est pas terrible, ça veut dire que tu va appeler ta requête autant de fois que tu as de produits.

 

Alors qu'il suffirait de rajouter cette requête dans celle qui te donne la liste des produits.

 

exemple :

select 

p.`id_product`,

coalesce(a.`maxqty`, p.`quantity`) maxqty

from `'._DB_PREFIX_.'product`p

left join (select `id_product`, max(`quantity`) AS maxqty from `'._DB_PREFIX_.'product_attribute`group by `id_product`) a on a.`id_product` = p.`id_product`

......

 

le coalesce est là pour avoir la quantité pour les produits n'ayant pas de déclinaison.

Edited by rvcat (see edit history)
Link to comment
Share on other sites

 

select 

p.`id_product`,

coalesce(a.`maxqty`, p.`quantity`) AS  maxqty

from `'._DB_PREFIX_.'product`p

left join (select `id_product`, max(`quantity`) AS maxqty from `'._DB_PREFIX_.'product_attribute`group by `id_product`) a on a.`id_product` = p.`id_product`

......

Link to comment
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...