2012-03-18 80 views
0

我是新来的sql。可以u人请帮助我走出这个查询查询比较产品在两年内的销售额

表名:sales

product_id sales year 
1   2000 2007 
2   3000 2007 
1   4000 2008 

我想我的产品的销售与产品ID比较2007年,2008年= 1,并得到结果查询 因此,输出应该像

product_id sales in 2007 sales in 2008 
1     2000   3000 

回答

2

您想查询结果的类型是更好的通过客户端的显示时间的操作完成。

SELECT year, SUM(sales) 
FROM sales 
WHERE product_id = 1 
GROUP BY year 
0

虽然我完全同意@MarcB,如果你仍然想这样做,你应该运行此查询自己的方式:

select product_id, 
    sum(if(year = 2007, sales, 0)) `sales in 2007`, 
    sum(if(year = 2008, sales, 0)) `sales in 2008` 
from products 
where product_id = 1 
group by product_id 

注意sales in 20083000你可以平凡与您的数据正如你在例子中展示的那样,而是4000

+0

什么数据库支持if()那样?我一直看到CASE。 – dbenham 2012-03-18 07:54:49

相关问题