liermao12 2014-06-13 06:10 采纳率: 0%
浏览 1973

关于oracle关联表查询的sql语句

现在两张表,分别是表A,表B.

表A:

ID CONTENT STARTDATE ENDDATE
1 测试内容1 2014/6/1 2014/6/15
2 测试内容2 2014/5/25 2014/6/30
3 测试内容3 2014/6/8 2014/7/1
4 测试内容4 2014/6/10 2014/6/30

表B:
ID A_ID CONTENT MDATE
1 2 测试1 2014/6/5
2 2 测试3 2014/5/3
3 4 测试2 2014/6/7

表A的ID和表B的A_ID是主外键关系,现在的目的是:
查询表A,如果表A所对应的B表中,MDATE在表A的STARTDATE 和 ENDDATE 之间,则表A的该记录不显示。

最后查询结果为:
 ID CONTENT STARTDATE ENDDATE
1 测试内容1 2014/6/1 2014/6/15
3 测试内容3 2014/6/8 2014/7/1
4 测试内容4 2014/6/10 2014/6/30

求高手帮写sql语句。。。。

  • 写回答

1条回答 默认 最新

  • 缘与我无缘 2014-06-13 09:56
    关注

    select id, content, startdate, enddate
    from (select A.*, B.Id as bid
    from A
    left join B on A.id = B.a_Id
    and to_char(B.Mdate, 'yyyy/mm/dd') >= to_char(A.Startdate, 'yyyy/mm/dd')
    and to_char(B.Mdate, 'yyyy/mm/dd') <= to_char(A.Enddate, 'yyyy/mm/dd')) t
    where t.bid is null
    order by id

    先查询在mdate在范围之内的,然后通过验证bid是否为空过滤

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码