点点滴滴的博客 2021-06-03 10:14 采纳率: 25%
浏览 49
已采纳

用sql写 一张表中有A,B,C三个字段,对比B字段中内容是否包含A,如包含输出同行C字段?

例如  表为部门表 department 其中包含公司名称,一级部门名称,二级部门名称,三级部门名称
字段A         字段 B                字段 C
id               pulldi                name
abc              abc                无敌集团
abc             abc-01             综管部
abc             abc-01-01        信息部
abd             abd                上帝集团
abd             abd-01              综管部

对比   字段B 内是否包含 A  如果包含 输出同行C (此张部门表已于其他表进行关联,已在输出部门中使用了department.name,
    u.realName AS 姓名,
    u.userName AS 登陆账号,
    u.id AS 账号ID,
       department.name AS 部门,
    department.name AS 公司,
小白也不知道 如何处理怎么在公司列再次使用name
 )

  • 写回答

5条回答 默认 最新

  • CSDN专家-文盲老顾 2021-06-03 10:25
    关注
    with t as (
    	select 'abc' as id,'abc' as pulldi,'wtf' as name
    	union all select 'abc','abc-01','dpt1'
    	union all select 'abc','abc-01-01','dpt1-1'
    
    ) 
    select * from t a
    left join t b on CHARINDEX(a.id,b.pulldi)>0 and a.id<b.pulldi
    where not exists(select top 1 1 from t where CHARINDEX(pulldi,a.pulldi)>0 and pulldi<>a.pulldi)
    

    感觉你描述的逻辑有点问题,应该是对比pulldi列,如果存在包含关系则输出,否则本行不输出

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大