虚拟一个查询表,查询字段,连接列,条件判断

在查询的时候 我们希望将将不同的查询结果的列 结合在一起,这是后可以虚拟一张表 一个字段

数据库查询时的条件判断
    
case when photosPath is null then 0 else 1 end as valueNull 
判断 photosPath 字段的值 根据判断结果 产生两个分支 then 和 else。我这个判断是判断:当数据列photosPath  为空的时候产生一个列 这个列的值为 0 不为空的时候列的值为一 1 并且区别名为valueNull ,注意结尾必须有end 结束语句。完整查询语句在下面,虚拟表中。

isNull(photosPath ,0) as valueNull 
isNull 使用来判断列的值 是不是等于空,等于空 给产生一个新的列 将isnull 中的第二个参数赋值给这个新的列 as 用来取别名 ,别名为 valueNull

虚拟表--查询查询结果
select p.label as pLabel from  
    (select case when photosPath is null then 0 else 1 end as valueNull from PS_AuditTaskItemReport)                   
as photo left join PS_DICT as p on p.type='valueNull' and p.value = photo.valueNull
在这个查询语句中 我将(括号)中的查询的数据虚拟成了一张表,然后查询了这张表,并且将它与另外一张进行连接最总查询到想要的结果

虚拟字段--连接列
select distinct *,
(select COUNT(isPass) from PS_AuditTaskItemReport where taskUnitID = '' group by isPass having isPass = '0' )  as qualified ,
(select COUNT(isPass) from PS_AuditTaskItemReport where taskUnitID = '' group by isPass having isPass = '1' ) as disqualification from PS_AuditUnitInfo
在这个查询里面,我将(括号)中的内容虚拟成一个列,查询时用来显示,这一列的结果会跟在from 查询的每一行的后面,并且(括号)中的列的值是不会变的是固定的,

转载于:https://my.oschina.net/u/3744526/blog/1649419

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值