在查询的时候 咱们但愿将将不一样的查询结果的列 结合在一块儿,这是后能够虚拟一张表 一个字段数据库
数据库查询时的条件判断 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 查询的每一行的后面,而且(括号)中的列的值是不会变的是固定的,