select * from tbpost a where not exists(
select * from tbpost b where 交易类型='0400'
and a.商户号=b.商户号 and a.交易日期=b.交易日期 and a.流水号=b.流水号 and a.终端号=b.终端号)
select * from tbqc a where exists(select count(1) from tbqc b where a.name=b.name and a.sex=b.sex and a.age=b.age having count(*)=1 )
这都是怎么执行的 能说的越细越好 谢谢。
我个人理解是选执行外面的查询 没查询一行数据 然后用外面查询的数据做条件 去执行exists里面的查询 如果符合条件就 返回数据 不知道是不是这样运行的。
------解决方案--------------------
- SQL code
--显示 对应商户号,交易日期,流水号,终端号相同,且不在交易类型 '0400'范围内的SELECT * --4、就显示a.*FROM tbpost aWHERE NOT EXISTS ( SELECT * --3、没找到 FROM tbpost b WHERE 交易类型 = '0400' AND a.商户号 = b.商户号 --1、a对应b来说,b就是对应交易类型 = '0400'的 AND a.交易日期 = b.交易日期 --2、相同商户号,交易日期,流水号,终端号的 AND a.流水号 = b.流水号 AND a.终端号 = b.终端号 ) --不重复的数据 SELECT * --4、就显示a.*FROM tbqc aWHERE EXISTS ( SELECT COUNT(1) --3、找到了 FROM tbqc b WHERE a.name = b.NAME --1、a与b 相同NAME,sex,age 的信息计数 AND a.sex = b.sex AND a.age = b.age HAVING COUNT(*) = 1 ) --2、只出现一次的