Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 正在尝试将不可为NULL的列的值设置为NULL_Sql_Sql Server - Fatal编程技术网

Sql 正在尝试将不可为NULL的列的值设置为NULL

Sql 正在尝试将不可为NULL的列的值设置为NULL,sql,sql-server,Sql,Sql Server,我正在尝试将不可为NULL的列的值设置为NULL 使用XML路径时出错 代码: select fdp.POLICYNUMBER, fdp.INSUREDNAME, fdp.OWNERNAME, fdp.AGENCYCODE, p.WFWORKSTEPNAME, fdpc.NIGO, fdpc.NIGOREASON, d.NIGOREQUIREMENT, wci.WCSTATUS, wci.DATECOMPLET

我正在尝试将不可为NULL的列的值设置为NULL

使用XML路径时出错

代码:

select  
    fdp.POLICYNUMBER,
    fdp.INSUREDNAME,
    fdp.OWNERNAME,
    fdp.AGENCYCODE, 
    p.WFWORKSTEPNAME,
    fdpc.NIGO,
    fdpc.NIGOREASON,
    d.NIGOREQUIREMENT,
    wci.WCSTATUS,
    wci.DATECOMPLETED,
    fdCI.NEWUNDERWRITINGUSER,
    fdr.NBAMOUNT 
into
    #t
from
    PINewBusiness p 
join
   FDPolicyDetails fdp on SUBSTRING(p.CFREPKEY, 9, LEN(p.CFREPKEY)) = fdp.PARENT_CASEID 
                       and (p.WFWORKSTEPNAME = 'PendingRequirements' or 
                            p.WFWORKSTEPNAME = 'FollowUpRequirements' )
join
    FDProcessing fdpc on SUBSTRING(p.CFREPKEY, 9, LEN(p.CFREPKEY)) = fdpc.PARENT_CASEID
join
    FDRounting fdr on SUBSTRING(p.CFREPKEY, 9, LEN(p.CFREPKEY)) = fdr.PARENT_CASEID
cross apply
    (select NIGOREQUIREMENT + ', ' 
     from FDNIGORequirements nr 
     where nr.PARENT_CASEID = fdpc.PARENT_CASEID 
     for xml path('')) D (NIGOREQUIREMENT)
--join FDNIGORequirements nr on SUBSTRING(p.CFREPKEY, 9, LEN(p.CFREPKEY)) = nr.PARENT_CASEID
cross apply
    (select NIGOREQUIREMENT + ', ' 
     from FDNIGORequirements nr 
     where nr.PARENT_CASEID = SUBSTRING(p.CFREPKEY,9,LEN(p.CFREPKEY)) 
     for xml path('')) D (NIGOREQUIREMENT)
join
    (select max(CREATEDDATETIME) as CREATEDDATETIME, PARENT_CASEID 
     from FDWelcomeCall 
     group by PARENT_CASEID ) wc on fdr.PARENT_CASEID = wc.PARENT_CASEID
join
    FDWelcomeCall wci on wci.PARENT_CASEID = wc.PARENT_CASEID 
                      and wci.CREATEDDATETIME = wc.CREATEDDATETIME
join
    FDCaseInformation fdCI on SUBSTRING(p.CFREPKEY, 9, LEN(p.CFREPKEY)) = fdCI.PARENT_CASEID
where
    p.WFSTEPENTRYTIME >= @sdate 
    and p.WFSTEPENTRYTIME <= @edate
order by 
    p.WFFLOWENTRYTIME desc

如果要保留具有空值的行,必须替换出现错误的列中的空值,为此,可以使用:

SELECT COALESCE([MyColumn],__ReplacementValue__) AS [MyColumn] FROM MyTable

您可以在内部或外部选择中使用其中一个

否则,如果该行不存在(如果该值为null),则必须通过添加WHERE子句将其过滤掉:

WHERE [MyColumn] IS NOT NULL

如果要保留具有空值的行,必须替换出现错误的列中的空值,为此,可以使用:

SELECT COALESCE([MyColumn],__ReplacementValue__) AS [MyColumn] FROM MyTable

您可以在内部或外部选择中使用其中一个

否则,如果该行不存在(如果该值为null),则必须通过添加WHERE子句将其过滤掉:

WHERE [MyColumn] IS NOT NULL

您好,请分享您的t表定义。您可能认为交叉应用将消除子查询不返回任何内容的行。但是,因为您使用的是for xml,所以您得到的是一个空xml值,显然是要插入到一个外部表中。@GSerg如何解决这个问题?请分享您的t表定义。您可能认为交叉应用将消除子查询不返回任何内容的行。但是,因为您使用的是for xml,所以您得到的是一个空xml值,很明显,您将该值插入到一个外部表中。@GSerg如何解决这个问题