当前位置: 首页 > news >正文

专门做学校政府的网站免费下载百度软件

专门做学校政府的网站,免费下载百度软件,软件开发工程师需要考什么证书,深圳直销网站开发刚开始工作 业务能力比较薄弱 记录一下这几天遇见的一个业务问题 场景 先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个…

刚开始工作 业务能力比较薄弱 记录一下这几天遇见的一个业务问题

场景

先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个客户可以匹配出很多的明细数据,在删除的时候如果某个客户的明细数据全部删除了,就删除这个客户。
删除时接口参数为明细表的id数组

明细表中字段有 id、customer_id、deleted 这三个字段(其他忽略)。

怎么直接写一个sql的到需要删除的客户id

思路一:

首先根据id查到客户id,在查到还有明细数据的客户id,吧这些id剔除掉就是需要删除的客户id

SELECT customer_id 
FROM match_detail 
WHERE deleted = 0 AND customer_id IN (
SELECT DISTINCT customer_id 
FROM match_detail  
WHERE id in (1,2,3,4) )

然后在代码中剔除掉就可以了。

思路二

第一种当然可以 但是能直接查出来需要删除的客户id更好,既然如此直接NOT IN 不就好了

大家可以想一下SQL应该怎么写。

我的想法是直接先查出来所有的客户id,然后查出有明细的客户ID,然后拿全量的客户ID NOT IN 一下不就行了。
这是我写出来下面的SQL

SELECT DISTINCTcustomer_id
FROM`match_detail`
WHERE`id` IN(1) AND `customer_id`  NOT IN(SELECT DISTINCT`customer_id`FROM`match_detail`WHERE`id` IN(1) AND `deleted` = 0;
) 

大家看一下这个SQL有什么问题吗?
很明细这个SQL有个问题子查询永远不会有值,因为根据id已经删除过了,还要满足未删除,那么这个sql会查处所有的客户id

所以肯定是不满足的。

知道了问题在哪,那么是不是子查询的条件应该是找到所有客户id的明细数据。所以有了以下的SQL

SELECT DISTINCTcustomer_id
FROM`match_detail`
WHERE`id` IN(1) AND `customer_id`  NOT IN(SELECT DISTINCT`customer_id`FROM`match_detail`WHERE`customer_id` IN(SELECT DISTINCT`customer_id`FROM`match_detail`WHERE`id` IN(1) )  AND `deleted` = 0);

这个SQL经过验证是符合要求的,然后经过优化,又有了下面的SQL

SELECT DISTINCTt1.customer_id
FROMmatch_detail t1
LEFT JOINmatch_detail t2 ON t1.customer_id = t2.customer_id AND t2.deleted = 0
WHEREt1.id IN (1, 2, 3, 4, 6) AND t2.customer_id IS NULL;

这也算是一次踩坑吧,每一次踩坑都是一次进步,虽然很简单,但是过程中也会遇到考虑不到的点。

有什么问题,或者大家有什么好的解决思路。欢迎指正,一起学习。

http://www.mmbaike.com/news/54425.html

相关文章:

  • 政府网站集约化建设意义小广告公司如何起步
  • 专业做幼儿园网站网站搜索引擎优化报告
  • 做电子书网站可以访问境外的浏览器
  • 政府网站建设申论系统优化软件排行榜
  • 黄冈网站制作二次感染即将大爆发
  • 大型企业网站制作网络营销中的四种方法
  • 网站移动端适配怎么做南宁企业官网seo
  • 做擦边球的网站专业网站优化公司
  • 产品网络营销策划seo网络推广机构
  • 在淘宝做网站可以改域名吗济南百度代理
  • 重庆网站建设中心推广软件免费
  • 大良购物网站建设百度客服人工电话95188
  • 微信扫一扫抽红包在哪里做网站江西省水文监测中心
  • 网站建设公司模板百度搜索网页版
  • 旅行社网站建设需求分析多层次网络营销合法吗
  • 做网站可以提些什么意见百度框架户一级代理商
  • onedrive做网站下载盘东莞网站建设制作
  • ps做网站首页设计教程新媒体推广渠道有哪些
  • 做国际物流需网站自助快速建站
  • 做网站上传图片多大合适seo排名优化的网站
  • 网站收录申请湖北网站seo策划
  • 东莞市长安网站建设公司seo外包上海
  • 前端页面设计网站品牌推广和品牌营销
  • 工作做ppt课件的网站国内真正的免费建站
  • 做网站设计师要提供什么长沙网站推广公司排名
  • 大型网站集群怎么做整合网络营销是什么
  • 唐山建设造价信息网的网站深圳网络推广方法
  • 电商网站建设市场分析网络卖货平台有哪些
  • 网站增加域名备案注册推广赚钱一个10元
  • 抚顺网站建设开一个免费网站