Bonjour, je vous explique mon soucis ^^ qui est de taille car je suis dessus depuis deux jour mais rien n'y fait : je vous initialise la situation car c'est assez compliqué ^^( je programme en zend framework ) :
Une table Réduction avec comme champ :
Une Table Tarif :noTime : ne dépend pas d'une date
pourcentage : réduction faite en pourcentage
prix : réduction avec une somme directement
tranchInf : doit etre inférieur ou égale a 1
debut : date du début de la réduction
fin : date de la fin de la réduction
Une Table Produit :prix : prix du produit
et une Table CategorieProduit qui fait le lien entre les Produits et les Catégorie :avec id, ....
C'est la que tout ce corse je souhaiterais que ma requête me ressorte par prix croissant les produits prenant en compte les produit avec une réduction(prix) avec une réduction (pourcentage) et ceux sans réduction du tout.Categorie_id
Produit_ id ...
J'ai réussit a avoir mes produit classé avec les réduction mais du coup les produit sans réduction sont a nul et n'ont pas leur prix d'origine qui sont dans la Table Tarif ^^
Suis-je claire ?
Ma requête était :
C'est pour un site internet ou je voudrais un classement par prix croissant en fonction des prix réduit si il y a une réduction ou par leur prix non réduit si il n'éxiste pas de réductions ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT `p`.*, Tarif.prix - ( SELECT SUM(prix+pourcentage) FROM Reduction WHERE Produit_id = p.id AND trancheInf <=1 AND ( noTime =1 OR now( ) BETWEEN debut AND fin ) ) AS tarif FROM `Produit` AS `p` INNER JOIN `CategorieProduit` ON p.id = CategorieProduit.Produit_id INNER JOIN `Tarif` ON p.id = Tarif.Produit_id WHERE (CategorieProduit.Categorie_id =1) ORDER BY `tarif` ASC
Merci d'avance de m'éclairer car je pète un plombMerci
Partager