我有三张表 - 一个用于运费,一个用于产品,一个用于特殊产品运费的例外情况。运费如下收取: 每件产品都有运费,但这个价格可以被例外覆盖。如果产品不存在例外情况,则默认费率用于用户选择的运费。 alt text http://mi6.nu/sqljoin.png 我试图加入这些表,以便如果存在异常,则选择该价格,否则,默认价格被选中,但我遇到了连接问题。我需要通过产品ID来查询的,我有(2号线是为了调试)SQL加入CASE和WHERE
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
,我需要回到:
1 Uk and Northern Ireland 1
2 EU Eire... 10
3 US and Canada 2.16
4 Rest of world 2.44
所以,如果有异常存在,则使用异常的价格,否则使用默认价格。我打算使用CASE语句,但我需要首先返回数据。
什么是你的问题? – hobodave 2009-07-31 13:52:41