我有 2 张桌子。一、销售表:
Salesid Amount Productid Monthid
20 10 1 201307
15 25 1 201301
40 20 5 201303
注意:超过 1000 行。
其次,我有一个产品表:
Productid Description Product_elemid
1 AAA 24
2 BBB 57
5 CCC 23
1 AAA_ACE 25
注意:大约 100 行。
现在,我想显示这两个表中的一些数据。这是我目前拥有的:
Select p.description
case ( when s.monthid between 201301 and 201307 then sum(s.amount) else 0 end)
case ( when s.monthid between 201303 and 201305 then sum(s.amount) else 0 end)
from sales s, product p
where s.productid = p.productid
and p.productid in ('1, '2', '5')
group by p.description
我得到一个包含 3 列的表:
p.description case 1 values case 2 values
到现在为止还挺好。现在我还想有另一列来告诉我这两种情况的值的差异。
我可以在案例陈述中写这个,还是有更好的方法?
注意:在这里执行自连接对我来说是不可取的,因为它有很多行,因此显示时间太长。
谢谢。