Ich habe drei Tabellen - eine für Versandkosten, eine für Produkte und eine für Ausnahmen zu Versandkosten für bestimmte Produkte. Der Versand wird wie folgt berechnet: Jedes Produkt hat einen Versandpreis, aber dieser Preis kann durch eine Ausnahme überschrieben werden. Wenn für ein Produkt keine Ausnahme besteht, wird die Standardrate für die vom Benutzer ausgewählte Versandrate verwendet. alt text http://mi6.nu/sqljoin.png Ich versuche, diese Tabellen so zu verbinden, dass, wenn eine Ausnahme existiert, dieser Preis ausgewählt wird, andernfalls wird der Standardpreis ausgewählt, aber ich habe Probleme mit dem Join. Ich muss nach Produkt-ID abfragen, und ich habe (Linie 2 ist für das Debuggen)SQL Join mit CASE und WO
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
Und ich zurück brauchen:
1 Uk and Northern Ireland 1
2 EU Eire... 10
3 US and Canada 2.16
4 Rest of world 2.44
Also, wenn eine Ausnahme existiert, wird die Ausnahme Preis, sonst Der Standardpreis wird verwendet. Ich plane, eine CASE-Anweisung zu verwenden, aber ich muss die Daten zuerst zurückgeben.
Was Ihre Frage ist? – hobodave