select o.out_pages, sum( o.out_total) from receipt_out o join receipt_in i on (o.out_pages= i.in_pages) group by o.out_pages
我写了这个sql语句,但是老是有笛卡尔积,total出现了一个比预想的要大得多的数,也就是请问各位这是什么原因?该怎么改?
ps:这个语句是为了计算receipt_out中不同种类的out_pages的out_total的值的和,out_pages必须是在receipt_in中的in_pages出现过的。请大侠指教
我写了这个sql语句,但是老是有笛卡尔积,total出现了一个比预想的要大得多的数,也就是请问各位这是什么原因?该怎么改?
ps:这个语句是为了计算receipt_out中不同种类的out_pages的out_total的值的和,out_pages必须是在receipt_in中的in_pages出现过的。请大侠指教
select out_pages,sum(out_total)
from receipt_out
where exists(
select * from receipt_in
where in_pages=receipt_out.out_pages
)
group by out_pages
select o.out_pages, sum(o.out_total)
from receipt_out o,receipt_in i
where o.out_pages= i.in_pages
group by o.out_pages