ahmed_sa Ответов: 0

Могу ли я получить пропущенные строки из временной таблицы, где они не возвращаются из join to function ?


Я работаю на SQL server 2012 я сталкиваюсь с проблемой я не могу обновить статус без возврата данных

где нет результата возвращенного из инструкции select функция cross apply

это означает, что при соединении деталей и компании для работы никакие данные не возвращаются, а затем обновите Статус до этого

часть без каких-либо данных для этой части, когда данные отсутствуют.

create table #TempPC   
            (  
                    PartNumber NVARCHAR(300),  
                    CompanyId INT,  
                    Status   nvarchar(200)  
            )  
insert into #TempPC (PartNumber,CompanyId)   
        values  
        ('9C06031A2R43FKHFT',1233345),  
        ('VJ0805AIR5CXAMT',8433324)


когда make select ниже, он не возвращает данные для некоторых деталей, поэтому я обновлю статус без каких-либо данных, возвращенных в эту часть .

Select t.PartNumber,t.CompanyName,pc.FamilyName,t.Status FROM  #TempPC t    
    
cross apply  [PC].FN_PartCheck_Test( t.[PartNumber],0,1,1,t.CompanyId) pc     
    
Where pc.GroupID>-2 And pc.PortionID>-2 


Итак, что мне нужно делать, когда какие-либо детали и компания на временной таблице соединяются с функцией пропущены

затем обновите Статус этой детали, не имея никаких данных для этой детали .

ожидаемый результат
PartNumber                         CompanyId         status  
9C06031A2R43FKHFT                  1233345           No data returned  
VJ0805AIR5CXAMT                    8433324           it have data returned


так как же это сделать, пожалуйста ?

выберите * из [PC].FN_PartCheck_Test( t.[PartNumber],0,1,1,t.CompanyId) pc

Возвращаемый идентификатор PartNumber,CompanyID,FamilyID

Что я уже пробовал:

Select t.PartNumber,t.CompanyName,pc.FamilyName,t.Status FROM  #TempPC t    
    
outer apply  [PC].FN_PartCheck_Test( t.[PartNumber],0,1,1,t.CompanyId) pc     
    
Where pc.GroupID>-2 And pc.PortionID>-2 and pc.FamilyId is null  

Gerry Schmitz

Проблема заключается в "PartCheck"; он должен возвращать "что-то", даже если это всего лишь "нет данных".

0 Ответов