J'ai trois tableaux - un pour les frais de port, un pour les produits et un pour les exceptions aux frais de port pour des produits particuliers. Les frais de port sont facturés comme suit : Chaque produit a un prix d'expédition, mais ce prix peut être modifié par une exception. Si aucune exception n'existe pour un produit, le tarif par défaut est utilisé pour le tarif d'expédition sélectionné par l'utilisateur. texte alt http://mi6.nu/sqljoin.png J'essaie de joindre ces tables de sorte que si une exception existe, ce prix est sélectionné, sinon, le prix par défaut est sélectionné, mais j'ai des problèmes avec la jointure. J'ai besoin de faire une requête par ID de produit, et j'ai (la ligne 2 est pour le débogage)
SELECT r.ID AS ShippingRateID, r.Name,
e.*, r.*
FROM shipping r LEFT JOIN shippingexceptions e ON r.ID = e.ShippingRateID
WHERE e.ProductID = 48
Et j'ai besoin qu'on me le rende :
1 Uk and Northern Ireland 1
2 EU Eire... 10
3 US and Canada 2.16
4 Rest of world 2.44
Ainsi, si une exception existe, le prix de l'exception est utilisé, sinon c'est le prix par défaut qui est utilisé. J'envisage d'utiliser une instruction CASE, mais je dois d'abord renvoyer les données.