SQL Server,如何从三张互有关联的表中,有条件的找出有关联的行,查询有关联的两个表中,找出A,B表不一致的记录。

发布时间:2020-07-09 16:30:19

SQL Server,如何从三张互有关联的表中,有条件的找出有关联的行,查询有关联的两个表中,找出A,B表不一致的记录。

网友回答

看看这样行不行:
  Select 丙.姓名,丙.消费金额,乙.任务类别,乙.任务阶段
   ,当前任务进=Case When a.任务名称='exception_end' Or Not 丙.结束时间 Is Null
   Then '终止' Else 乙.任务名称 End
   From 丙
   Left Join (Select * From 甲 Where 项目编码+任务变化编码 In
   (Select 项目编码+Max(任务变化编码) From 甲
   Group by 项目编码 ) ) a
   On a.项目编码=丙.项目编码
   Left Join 乙 On a.任务名称=乙.任务名称 And 丙.任务类别ID=乙.任务类别ID
  
  不过这里有个问题,既然张三对应的甲表的任务名称是exception_end, 那么在乙表中应该找不到它的对应的任务阶段,为什么你<想要得到的表>中张三的任务阶段是<饮食>呢?

网友回答

select * from A where user not in(select p.user from A p,B o where p.user=o.user and p.area=o.area)
以上问题属网友观点,不代表本站立场,仅供参考!