2
我想选择每种产品类型的最便宜(包括运费,并将价格转换为当地货币)。最便宜=(product.price + product.shipping)* seller.to_aud获取每种货币兑换产品类型的最低价格
我的数据库有表如下:
PRODUCTS SELLERS
----------------------------------------------- --------------------------
| id | type_id | seller_id | price | shipping | | id | currency | to_aud |
----------------------------------------------- --------------------------
| 1 | 1 | 1 | 10 | 5 | | 1 | usd | 0.9875 |
----------------------------------------------- --------------------------
| 2 | 1 | 2 | 10 | 2 | | 2 | gbp | 1.6000 |
----------------------------------------------- --------------------------
| 3 | 1 | 1 | 13 | 0 |
-----------------------------------------------
| 4 | 2 | 1 | 8 | 4 |
-----------------------------------------------
| 5 | 2 | 2 | 8 | 2 |
-----------------------------------------------
| 6 | 2 | 2 | 15 | 0 |
-----------------------------------------------
如果所有的卖家使用单一货币,我并没有增加成本我可以得到我想要的结果:
SELECT a.id, a.price
FROM
(
SELECT type_id, min(price) as minprice
FROM products
GROUP BY type_id
) AS b INNER JOIN products as a on a.type_id = b.type_id and a.price = b.minprice
ORDER BY price
但我不知道该从哪里出发。任何帮助将不胜感激。
啊太棒了!这完美的作品!虽然,我确实将'a.price * ISNULL(s.to_aud,1)'调整为'ROUND((a.price + a.shipping)* s.to_aud,2)'感谢您的时间。 – pocketrocket 2011-03-08 14:02:01