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 :

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 Tarif :
prix : prix du produit
Une Table Produit :
avec id, ....
et une Table CategorieProduit qui fait le lien entre les Produits et les Catégorie :
Categorie_id
Produit_ 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.
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 :

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
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 ^^
Merci d'avance de m'éclairer car je pète un plomb Merci