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

网站信息化建设存在的困难浙江网站建设价位

网站信息化建设存在的困难,浙江网站建设价位,搜索引擎排名google,域名注册网站刚开始工作 业务能力比较薄弱 记录一下这几天遇见的一个业务问题 场景 先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个…

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

场景

先简单说一下场景,有一批客户(一张表),可以根据这个客户匹配出很多明细数据(另一张表),现在需要删除明细,一个客户可以匹配出很多的明细数据,在删除的时候如果某个客户的明细数据全部删除了,就删除这个客户。
删除时接口参数为明细表的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.yayakq.cn/news/57539/

相关文章:

  • 东莞网站建设搭建建设网站培训学校
  • 传奇网站如何建设安徽合肥企业网页制作公司
  • 网站开发 运行及维护网站建设都需要什么
  • 遵义做推广网站丢盖网logo设计免费
  • 网站建设的重点插件功能wordpress
  • 动图从哪个网站做上海网站建设公司哪个好
  • 不用编程做网站网站代理在线
  • php与H5做网站福州公司网站建设_
  • 淄博网站排名外包wordpress只启用cdn
  • 网站改版数据来源表改怎么做食品包装设计特点
  • 主网站怎么做熊掌号优化做网站的找哪个
  • 郑州建立一个网站需要哪些中英文网站多少钱
  • 通信部门网站备案证明wordpress中文字体插件
  • 外贸家具网站四博互联做的网站
  • 如何创建自己网站wordpress orchidv 插件
  • asp 网站模板个人网站页面模板
  • 企业电子商务网站外贸单在哪些网站做
  • 建筑公司网站设计思路wordpress 评论倒序
  • 正规的品牌网站建设服务网推是什么意思
  • 沈阳网站建设 龙兴科技青岛做网站推广
  • 建立微信商城网站长沙广告制作公司
  • 麻涌手机网站设计输入姓名查个人信息
  • 廊坊模板网站建设欧卡乐网站建设
  • 销售类网站开发架构小学生摘抄新闻2024
  • 中国风网站模板如何比较网站
  • 怎么打开自己做的网站网站建设需要什么岗位的人
  • 门户网站建设采购石家庄的网站建设公司哪家好
  • h5电子商城网站开发局域网建网站的详细步骤
  • 自己如何建设网站首页17网一起做网店下载
  • 湛江有帮公司做网站网站开发工程师基础