Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 显示零而不是空_Sql - Fatal编程技术网

Sql 显示零而不是空

Sql 显示零而不是空,sql,Sql,它显示为空,但如果为空,我希望为零。我正在使用varchar select DISTINCT(select Sum(isnull(cast(ExpectedRevenue as float),0) ) from Potential where Potential.UserId=1 and Potential.StageID!=8) as 'PipelinePotential',(select Sum(isnull(cast(ExpectedRevenue as float),0) ) fro

它显示为空,但如果为空,我希望为零。我正在使用varchar

select DISTINCT(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=1 and Potential.StageID!=8) as 'PipelinePotential',(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=6 and Potential.StageID!=8) as 'Employee PipelinePotential' , (select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=1 and Potential.StageID=8) as 'Achieved' ,
 (select Sum(isnull(cast([ExpectedRevenue] as float),0) )  from Potential where Potential.UserId=6 and Potential.StageID=8) as 'EmployeeAchieved' ,
 (select Sum(isnull(cast([target].[target] as float),0))  from Target where Target.UserId=1) as "TotalTargets " ,
  (select Sum(isnull(cast([target].[target] as float),0))  from Target where Target.UserId=6) as "EmployeeTotalTargets " 
,(Select top 1 target.Target from Target where Target.UserId=1  ORDER BY Target.TargetID desc) as "NewTarget" ,
(Select top 1 target.Target from Target where Target.UserId=6  ORDER BY Target.TargetID desc) as "EmployeeNewTarget" ,
(select Sum(isnull(cast([target].[target] as float),0)) from Target where Target.UserId=1 )-(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Target.UserId=1 and  Potential.StageID=8) as UnAchieved, 
(select Sum(isnull(cast([target].[target] as float),0)) from Target where target.UserId=6 )-(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=6 and  Potential.StageID=8) as EmployeeUnAchieved, 
(select Login.UserName from Login where Login.UserId=1) as AdminUserName ,(select Login.UserName from Login where Login.UserId=6) as EmployeeUserName 
 from potential inner join [Login] on 
potential.UserId=Login.UserId inner join [Target] on 
Target.UserId=Login.UserId  where Target.UserId=1

预期收入为零,但其显示为空我想解决这个问题

在select中使用子查询,如果没有返回记录,它将显示为空,isnull对您没有帮助

使用select and use IsNull包装查询:

select
    isnull(x.PipelinePotential, 0) as PipelinePotential,
    isnull(x.[Employee PipelinePotential], 0) as 'Employee PipelinePotential'
    .... -- rest of your columns from inner query
from
(
   -- your huge query here
       select DISTINCT(
    select Sum(isnull(cast(ExpectedRevenue as float),0) ) from Potential where Potential.UserId=1 and Potential.StageID!=8) as 'PipelinePotential',
    (select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=6 and Potential.StageID!=8) as 'Employee PipelinePotential',
    (select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=1 and Potential.StageID=8) as 'Achieved',
    (select Sum(isnull(cast([ExpectedRevenue] as float),0) )  from Potential where Potential.UserId=6 and Potential.StageID=8) as 'EmployeeAchieved',
    (select Sum(isnull(cast([target].[target] as float),0))  from Target where Target.UserId=1) as "TotalTargets" ,
    (select Sum(isnull(cast([target].[target] as float),0))  from Target where Target.UserId=6) as "EmployeeTotalTargets",
    (Select top 1 target.Target from Target where Target.UserId=1  ORDER BY Target.TargetID desc) as "NewTarget",
    (Select top 1 target.Target from Target where Target.UserId=6  ORDER BY Target.TargetID desc) as "EmployeeNewTarget",
    (select Sum(isnull(cast([target].[target] as float),0)) from Target where Target.UserId=1 )-(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Target.UserId=1 and  Potential.StageID=8) as UnAchieved, 
    (select Sum(isnull(cast([target].[target] as float),0)) from Target where target.UserId=6 )-(select Sum(isnull(cast(ExpectedRevenue as float),0) )  from Potential where Potential.UserId=6 and  Potential.StageID=8) as EmployeeUnAchieved, 
    (select Login.UserName from Login where Login.UserId=1) as AdminUserName ,(select Login.UserName from Login where Login.UserId=6) as EmployeeUserName 
from
    potential inner join [Login] 
    on potential.UserId=Login.UserId 
    inner join [Target] 
    on Target.UserId=Login.UserId
where Target.UserId=1
) x
如果它是varchar,您确定它是sql null,而不仅仅是包含字母
n
u
l
l
的字符串吗
null
'null'
是两个完全不同的东西。