解决 在SQL查询语句上更新null标志和更新冲突标志时?

已加入
2018年9月26日
留言内容
22
编程经验
3-5
我在SQL Server 2012上工作。真的不知道't understand what statement below do updatedand when
NullFlag更新时

冲突标志更新时

你能根据下面的例子给我解释一下吗
<code>
查询数据的详细信息行未分组:

Masked_ID DocumentID零件ID NULLCount
29283933 76724 31345983空
29283933 76724 31345984空
29283933 76724 31345985空
29283933 76724 31345986空
29283933 NULL NULL 1
29283933 NULL NULL 1
29283933 76724 31345989空
29283933 NULL NULL 1
29283933 NULL NULL 1
29283933 76724 31345992空
更新FFFF

Conflictflag = IIF((NotNULL + NuLLCount)<>RowsCount AND Ex.MaskExceptionID为NULL,CONCAT(Conflictflag,'PCN','|'),Conflictflag),
NULLflag = IIF(((NotNULL + NuLLCount)= RowsCount和NuLLCount>0 AND NULEX.NULLExceptionID是NULL,CONCAT(NULLflag,'PCN','|'),NULLflag)

(
--SELECT Masked_ID,SUM(CNT)/ COUNT(DocumentID)AS NotNULL,SUM(NULLCount)AS NuLLCount
选择Masked_ID,SUM(CNT)/ nullif(COUNT(DocumentID),0)AS NotNULL,SUM(NULLCount)AS NuLLCount
来自(
选择FF.Masked_ID,LC.DocumentID,
COUNT(DISTINCT LC.PartID)作为CNT,
COUNT(如果DocumentID为NULL则为1,否则为NULL END)NULLCount
从ExtractReports.dbo.MultiMask FF
内部联接Parts.Nop_Part ptt WITH(NOLOCK)ON ptt.Masked_ID = ff.Masked_ID
左连接PCN.DocumentParts LC带有(NOLOCK)的ptt.PartID = LC.PartID
FF.PCN像“%|%”
GROUP BY FF.Masked_ID,LC.DocumentID
DD
依DD.Masked_ID分组
DDFF
内联接ExtractReports.dbo.MultiMask FFFF on DDFF.Masked_ID = FFFF.Masked_ID
左联接[ConflictReport] .dbo.MaskExceptions EX ON EX.MaskID = FFFF.Masked_ID和EX.FunctionName ='PCN'
左联接[ConflictReport] .dbo.NULLExceptions NULEX ON NULEX.MaskID = FFFF.Masked_ID AND NULEX.FunctionName ='PCN'
哪里
FFFF.PCN像'%|%'
</code>
如果数据高于必须更新的Null标志或冲突标志
以及为什么
你能帮我么
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,923
地点
英国
编程经验
10+
请修正您的代码标签,以提高可读性。您可以编辑主题。谢谢

主题也交叉发布在:
 
最佳 底部