有关存储过程的帮助? [英] Help regarding Stored Procedure?
本文介绍了有关存储过程的帮助?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下存储程序
i have following store procedure
IF EXISTS(SELECT * FROM MIS_CH_MOL_WORK AS MWork WHERE MC_REP_TYPE=@ReportType
AND MWork.MC_DISCRIPTION1=''WSSTTY Lowbase''
AND MWork.MC_CLUST_CODE IN (SELECT * FROM [dbo].[SplitCommaString](@ClusterCode))
AND CONVERT(BIGINT,MWork.MC_DATE)>= CONVERT(BIGINT,@FromDate) AND CONVERT(BIGINT,MWork.MC_DATE)<= CONVERT(BIGINT,@ToDate))
BEGIN
SELECT
[ClusterCode]=MWork.MC_CLUST_CODE
,[ClusterName]=Cluster.SEGMENT_TERR_NAME
,[Report Type]=MWork.MC_REP_TYPE
,MWork.MC_DISCRIPTION1
,[TerritoryName]=Territory.SEGMENT_TERR_NAME
,[WssTerritory Name]=MWork.MC_DISCRIPTION2
,[Root Cause]=ISNULL(ETD.VcRootCauseRemark,'''')
,[Action Plan]=ISNULL(ETD.VcActionPlanRemark,'''')
,[Sale Plan For Crnt QTR]=ISNULL(ETD.VcSalePlan,'''')
,[col1]=''''
,[col2]=''''
FROM MIS_CH_MOL_WORK AS MWork
JOIN OM_SM_PF AS Cluster ON MWork.MC_CLUST_CODE=Cluster.SEGMENT_TERR_CODE
JOIN OM_SM AS Territory ON MWork.MC_TERR_CODE=Territory.SEGMENT_TERR_CODE
LEFT JOIN Exception_Trans AS ET ON ET.VcClust_Code IN (SELECT * FROM [dbo].[SplitCommaString](@ClusterCode))
AND VcTerr_Code=MWork.MC_TERR_CODE AND ET.VcReport_Type=@ReportType AND MWork.MC_DISCRIPTION1=ET.VcDescription
AND MWork.MC_DISCRIPTION2=ET.VcDescription2
AND CONVERT(BIGINT,ET.VcDate)>= CONVERT(BIGINT,@FromDate)
AND CONVERT(BIGINT,ET.VcDate)<= CONVERT(BIGINT,@ToDate)
LEFT JOIN Exception_TransDetails AS ETD ON ET.Id=ETD.ExceptionId
WHERE MC_REP_TYPE=@ReportType AND MWork.MC_DISCRIPTION1=''WSSTTY Lowbase''
AND MWork.MC_CLUST_CODE IN (SELECT * FROM [dbo].[SplitCommaString](@ClusterCode))
AND CONVERT(BIGINT,MWork.MC_DATE)>= CONVERT(BIGINT,@FromDate)
AND CONVERT(BIGINT,MWork.MC_DATE)<= CONVERT(BIGINT,@ToDate)
END
我有一条记录,其中包含集群代码的值,但MWork.MC_TERR_CODe为NULL
所以在IFEXIST中,它给了我记录,因为那里有簇代码,但是AND VcTerr_Code = MWork.MC_TERR_CODE条件失败
因此它不会给我记录..如果条件
I have one record which contains value for clustercode but MWork.MC_TERR_CODe is NULL
SO IN IFEXIST it gives me record as clustercode is there but AND VcTerr_Code=MWork.MC_TERR_CODE condition fails
so it dont give me record..can i check territorycode in if condition
推荐答案
请检查
,我可以检查区域代码吗?AND(ISNULL(VcTerr_Code,0)= ISNULL(MWork.MC_TERR_CODE,0))
Please check
AND (ISNULL(VcTerr_Code,0)=ISNULL(MWork.MC_TERR_CODE,0))
这有帮助吗?
AND(VcTerr_Code = MWork.MC_TERR_CODE或MWork.MC_TERR_CODE为空)
Does this help?
AND (VcTerr_Code=MWork.MC_TERR_CODE OR MWork.MC_TERR_CODE is null)
这篇关于有关存储过程的帮助?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文