下面是我准备从数据库中获取详细信息的查询。
select vUI.ArticleID , vUCS.NumInstalled,vUCS.NumPresent, vUCS.NumPending, vUCS.NumFailed, vUCS.NumNotApplicable , vUCS.NumMissing, vUCS.NumUnknown , vUCS.NumTotal
from v_Update_DeploymentSummary_Live vUCS
inner join v_UpdateInfo vUI
on vUCS.CI_ID=vUI.CI_ID
where vUCS.CollectionID='RA00686' --or vUCS.CollectionID='RA00785'
我尝试了几件事,但遇到了困难。
下面是输出数据。
我希望屏幕截图应该可见。但如果缺少它,我想添加 vUCS.NumInstalled和vUCS.NumPresent 的值,因为两者都显示成功的数据。
如何将一行中两列的值相加?
由于 vUCS.CollectionID ='RA00686'或vUCS.CollectionID ='RA00785',我的查询有点慢,我正在尝试更改它,因为它要花3分钟多的时间才能运行
当前输出
ArticleID NumInstalled NumPresent NumPending
4484107 2 16 2
4519998 0 0 0
4521860 7573 7738 13
预期产量
ArticleID NumInstalled NumPending
4484107 18 2
4519998 0 0
4521860 15311 13
答案 0 :(得分:1)
请尝试以下操作:
select vUI.ArticleID ,
ISNULL(vUCS.NumInstalled,0)+ISNULL(vUCS.NumPresent,0) AS NumInstalled,
vUCS.NumPending
from v_Update_DeploymentSummary_Live vUCS
inner join v_UpdateInfo vUI
on vUCS.CI_ID=vUI.CI_ID
where vUCS.CollectionID='RA00686'
您必须为Index
列创建一个vUCS.CollectionID
,以提高查询性能。
CREATE NONCLUSTERED INDEX NCX_v_Update_DeploymentSummary_Live_Indx1 ON v_Update_DeploymentSummary_Live(CollectionID)