栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在PostgreSQL中搜索跨域重复项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在PostgreSQL中搜索跨域重复项

要查找具有(跨列)重复电话号码的所有行,请执行以下操作:

SELECt *FROM   contacts cWHERe  EXISTS (   SELECt FROM contacts x   WHERe  x.mobile_phone IN (c.mobile_phone, c.home_phone)       OR x.home_phone   IN (c.mobile_phone, c.home_phone)   AND x.contact_id <> c.contact_id  -- except self   );

要查找两列中所有重复的电话号码,请执行以下操作:

SELECt DISTINCT phoneFROM  (   SELECt mobile_phone AS phone   FROM   contacts c   WHERe  EXISTS (      SELECt FROM mobile_phone x      WHERe  c.mobile_phone IN (x.mobile_phone, x.home_phone)      AND    c.contact_id <> x.contact_id  -- except self      )   UNIOn ALL   SELECt home_phone   FROM   contacts c   WHERe  EXISTS (      SELECt FROM mobile_phone x      WHERe  c.home_phone = x.home_phone   -- cross-over covered by 1s SELECT      AND    c.contact_id <> x.contact_id  -- except self      )   ) sub;

同一行的 两列中重复相同的数字不符合条件。我认为您不希望包含这些内容。(仍然会是一些值得在

CHECK
约束条件下禁止使用的噪音。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号