xs.t_s_contract_m t--销售合同号

WL.T_I_SETTLE_D m--销售合同号,结算清单号

wl.t_i_invoice c--发票号,结算清单号

c表结算清单号(t表和m表用销售合同号得到结算清单号) == 发票号

distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面,并且再oracle中,distinct 只能用在最左边。

IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。

SQL IN 语法

列:SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)

IN 操作符实例

现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

我们可以使用下面的 SELECT 语句:

列:SELECT * FROM PersonsWHERE LastName IN ('Adams','Carter')

select * from xs.t_s_contract_m t
where 1 = 1
AND exists
                 (select 1
                          from wl.t_i_invoice c
                         where c.seg_no = t.seg_no
                           and c.settle_id in
                               (select distinct m.settle_id
                                  from WL.T_I_SETTLE_d m
                                 where m.seg_no = t.seg_no
                                   and m.s_contract_id = t.contract_id)
                           and c.invoice_num like '%' || 'IS140400916' || '%')
                    AND exists (select 1 from xs.t_s_settle_d a
                                where a.seg_no = t.seg_no
                                  and a.contract_id = t.customer_id)
                                  --and a.settle_id  >= #settle_begin_id#

三表子查询IN和distinct的运用相关推荐

  1. MySQL数据库学习笔记(10)- distinct与in和exists子查询

    文章目录 1. distinct的使用 2. 子查询in 3. 子查询exists 1. distinct的使用 distinct 用于在查询中返回列的唯一不同值(去重复),支持单列或多列.(只能写在 ...

  2. 浅谈 MySQL 子查询及其优化

    2019独角兽企业重金招聘Python工程师标准>>> 使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动 ...

  3. 生产库中遇到mysql的子查询

    使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在 ...

  4. SQL --子查询与临时表

    子查询 --使用子查询提升count distinct的效率 数据库:38_6543 db_hyrhk --1.count distinct很有用,但太慢 ----Count distinct是SQL ...

  5. MySQL子查询的优缺点_浅谈mysql的子查询

    浅谈mysql的子查询 mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信息,mysql在处理子查询的时候,会 ...

  6. T-SQL之连接查询、子查询、联合查询和交叉表查询

    1.连接查询 内连接 内连接时用比较运算符比较要连接列的值的连接. 1.等值查询 用来连接两个表的条件称为连接条件或连接谓词,其一般格式如下: [<表名1>.]<列名1>< ...

  7. MySQL 嵌套子查询 with子句 from子查询 in子查询 join子查询

    一.适用场景和方法 (1)适用场景 考虑查询过程中是否存在以下情况: 查询某些数据时需要分组才能得到,某些数据不需要分组就能得到或者分组条件不同: 查询某些数据时需要where条件,某些列不需要whe ...

  8. SQLServer学习笔记九:DISTINCT子句和子查询

    学习目标 使用DISTINCT消除重复,仅提取唯一记录 使用子查询返回数据,作为进一步限制要检索的条件 DISTINCT DISTINCT关键字与SELECT语句一起使用,用来消除重复,并仅提取唯一记 ...

  9. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

最新文章

  1. golang int64转string_Golang 并发数据冲突检测器与并发安全
  2. 我们准备在网关中支持GrahpQL了
  3. JavaWeb中的简单分页
  4. BZOJ 1821: [JSOI2010]Group 部落划分 Group【MST】
  5. Spring 中常用的设计模式对比
  6. 【LiveVideoStack线上分享】— 视频生产环境下的音视频解决方案
  7. 【招聘(深圳)】迈瑞招.NET 开发Leader和PM
  8. python内建函数调用,Python 内建函数
  9. 亲密关系-【沟通目标】如何建立有效的谈话目标
  10. Shell脚本学习-阶段十二-在CentOS 7上给一个网卡分配多个IP地址
  11. C——结构体中的函数指针
  12. python读取npy文件 mse_python读取mat或npy文件以及将mat文件保存为npy文件(或npy保存为mat)的方法...
  13. 0基础入门学PLC,只需掌握好这5个步骤让您从0变精通
  14. 论文研究结论怎么写?
  15. 学习笔记五(蜂鸣器实验按键输入实验)
  16. 火狐查看密码_在Firefox中查看和删除存储的密码
  17. 程序员这条路,选择深耕技术,还是全面学习比较好?
  18. 如何提高工作激情,打造狼性团队
  19. iOS音视频开发七:视频采集
  20. 如何上传本地代码到github仓库

热门文章

  1. R可视化ggplot2绘制多子图
  2. 【数据结构】二叉树 —— 概念 + 结构
  3. Git 规范和 Changelog 生成
  4. QT纯代码设计UI界面Demo
  5. hadoop编程实战——日志分析
  6. 常用通信协议——IIC协议编程实现
  7. 算法练习 Week1
  8. 操作系统进程完成时间,周转时间,带权周转时间, 平均周转时间, 带权平均周转时间计算
  9. FusionCharts的基本使用(3)
  10. Kali工具库之cadaver