各种报错 2015-06-26 07:00 采纳率: 0%
浏览 1416
已结题

sql查询结果重复问题 是否表结构设计问题

信息表a
sid scope_type begin_date end_date
1 3
2 2
3 1

scope_type(1:按全部;2:按渠道;3:按机构)

范围表b
tid sid channel org_id
1 1 1 null
2 1 3 null
3 1 101

1.两表通过sid关联,没有设外键,
2.新增记录时,先写表a,再写表b
3.当scope_type=1时,则只需a表新增1条记录.
当scope_type不为1时,在a表新增1条记录,b表根据选择的机构和渠道,新增记录.
如选择了机构101,102,渠道1
则b表新增3条记录
4.查询时,根据时间范围,查出的结果有重复的,求解

 select 
b.*
from a, b
where a.sid = b.sid(+)
and a.sid = 1
and begin_date > ?
and end_date <= ?

ps:我考虑到两个方面:
1.表结构设计问题
2.sql方面

  • 写回答

6条回答 默认 最新

  • danielinbiti 2015-06-26 07:12
    关注
     select 
    distinct b.*  --distinct一下吧,
    from a, b
    where a.sid = b.sid(+)
    and a.sid = 1
    and begin_date > ?
    and end_date <= ?
    
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向