有关存储过程的帮助? [英] Help regarding Stored Procedure?

查看:64
本文介绍了有关存储过程的帮助?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下存储程序

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆