J'ai trois tableaux - un pour les tarifs d'expédition, un pour les produits et un pour les exceptions au taux d'expédition pour des produits particuliers. L'expédition est chargée comme suit: Chaque produit a un prix d'expédition, mais ce prix peut être remplacé par une exception. Si aucune exception n'existe pour un produit, le taux par défaut est utilisé pour le tarif d'expédition sélectionné par l'utilisateur. alt text 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. Je dois interroger par ID de produit, et je (ligne 2 est pour le débogage)SQL Rejoindre CASE et OERE
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 je dois retourné:
1 Uk and Northern Ireland 1
2 EU Eire... 10
3 US and Canada 2.16
4 Rest of world 2.44
Donc, si une existe exception, le prix d'exception est utilisé, sinon le prix par défaut est utilisé. Je prévois d'utiliser une instruction CASE, mais je dois d'abord renvoyer les données.
Quelle est votre question? – hobodave