sql语句问题

wx8849 2011-05-18 05:29:20

SELECT SalesManSysNo ,
SUM(dbo.DO_Master.CashPay) FillPrice ,
SUM(DO_Item.Quantity) FillNumber
FROM dbo.SO_Master Smt
LEFT JOIN dbo.DO_Master ON smt.SysNo = dbo.DO_Master.SOSysNo
LEFT JOIN dbo.DO_Item ON dbo.DO_Master.SysNo = dbo.DO_Item.DOSysNo
WHERE SalesManSysNo = 1
AND dbo.DO_Master.OutTime >= '2011-05-01'
AND dbo.DO_Master.OutTime <= '2011-05-31'
AND dbo.DO_Master.Status = 1
AND SOType=3
GROUP BY SalesManSysNo


加上红色部分有重复语句,该怎么解决
...全文
88 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
笛卡尔积。。。。
wx8849 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 rwm5366745 的回复:]
是不是 你连接 时表与表连接时关联的字段不对

要不就是你 sql 语句中主表和从表选的不对
[/Quote]

表的关联是对的,就是子表有多条相同主表的主键值就会有重复
wx8849 2011-05-18
  • 打赏
  • 举报
回复
SUM(dbo.DO_Master.CashPay) FillPrice ,
就是这个字段会有重复的相加
rwm5366745 2011-05-18
  • 打赏
  • 举报
回复

是不是 你连接 时表与表连接时关联的字段不对

要不就是你 sql 语句中主表和从表选的不对

wx8849 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mimouzao 的回复:]
有重复语句是什么意思,能把sql错误信息发出来不
[/Quote]

语句没有错误,只是加上LEFT JOIN dbo.DO_Item ON dbo.DO_Master.SysNo = dbo.DO_Item.DOSysNo这句后查询的数据有重复的
wx8849 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sandy945 的回复:]
那就换成join
[/Quote]

换成join一样的会有重复
随心录123 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yankai159357 的回复:]
AND dbo.DO_Master.OutTime >= '2011-05-01'
AND dbo.DO_Master.OutTime <= '2011-05-31'
[/Quote]

看错了!不好意思!
mimouzao 2011-05-18
  • 打赏
  • 举报
回复
有重复语句是什么意思,能把sql错误信息发出来不
  • 打赏
  • 举报
回复
LEFT JOIN dbo.DO_Item ON dbo.DO_Master.SysNo = dbo.DO_Item.DOSysNo
????
随心录123 2011-05-18
  • 打赏
  • 举报
回复
distinct
阿非 2011-05-18
  • 打赏
  • 举报
回复
那就换成join
wx8849 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yankai159357 的回复:]
AND dbo.DO_Master.OutTime >= '"2011-05-01"'
AND dbo.DO_Master.OutTime <= '"2011-05-31"'
[/Quote]
随心录123 2011-05-18
  • 打赏
  • 举报
回复
AND dbo.DO_Master.OutTime >= '"2011-05-01"'
AND dbo.DO_Master.OutTime <= '"2011-05-31"'

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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