关于笛卡尔积的问题

jiuxi2duiwangzhihao 2008-07-29 02:56:03
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出现过的。

请大侠指教
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Garnett_KG 正解
  • 打赏
  • 举报
回复
tracycc 这条语句我试过了,跟内连接的效果是一样的
tracycc 2008-07-29
  • 打赏
  • 举报
回复

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
Garnett_KG 2008-07-29
  • 打赏
  • 举报
回复

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

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧