Вставьте значение только когда столбец пуст - PullRequest
0 голосов
/ 10 января 2020

У меня есть 2 разных источника Excel

  1. Источник Excel сотрудника
  2. Источник Sales Excel

В моем источнике сотрудника у меня несколько папок, и в моем источник продаж У меня есть несколько папок, а также несколько листов, поэтому мне пришлось использовать две задачи потока данных и две для каждого l oop контейнеров для этой цели.

Мне нужно взять столбец ID у моего сотрудника В источнике Excel, если столбец идентификатора в источнике моего сотрудника недоступен (пусто), только если он недоступен в источнике моего сотрудника, тогда мне нужно получить столбец идентификатора из моего источника продаж, у них совпадает SSN, как мне этого добиться?

Это моя промежуточная таблица

SELECT 
    ID, [SSN], 
    [Borrower FirstName], [Borrower LastName], 
    [Borrower Email], [Home Phone], [Cell Phone],
    [Marital Status], [Date of Birth], 
    [Current Street Address], [City], [State], [Zip],
    [YearsAtThisAddress], [Sex], [Ethnicity], [Race] 
FROM 
    [Mortgage]

Это моя промежуточная таблица, половина моих данных от сотрудника и половина от продаж.

Источник сотрудника имеет

[ID] ,[SSN] ,[Borrower FirstName] ,[Borrower LastName] ,[Borrower Email] ,[Home Phone] ,[Cell Phone] ,[Marital Status] ,[Date of Birth] ,[YearsAtThisAddress] 

и источник ПРОДАЖ имеет

[ID] ,[SSN] ,[Borrower FirstName] ,[Borrower LastName] ,[Borrower Email] ,[Home Phone] ,[Cell Phone] ,[Current Street Address] ,[City] ,[State] ,[Zip]

1 Ответ

0 голосов
/ 10 января 2020

У вас есть записи из двух источников данных, объединенные вместе, и часть вашего требования состоит в том, чтобы знать, из какого источника поступила запись (является ли столбец идентификатора NULL, только если из источника сотрудника). Наша единственная подсказка относительно того, поступила ли запись из «источника сотрудника», заключается в том, есть ли значения в столбцах, которые отличаются между ними ([Семейное положение], [Дата рождения], [YearsAtThisAddress]), но вы этого не делаете скажем, если какой-либо из них обнуляем, поэтому мы должны сделать предположение. Предполагая, что значение в столбце [YearsAtThisAddress] может использоваться для определения источника записи (NOT NULL означает «Сотрудник», в то время как NULL означает «Продажи»), вы можете сделать что-то подобное, чтобы вернуть соответствующий идентификационный номер «Продажи» для записи совпадают по SSN, когда идентификационный номер сотрудника равен NULL.

SELECT 
    CASE WHEN ID IS NULL AND [YearsAtThisAddress] IS NOT NULL
         THEN (SELECT TOP (1) ID
                 FROM [Mortgage]
                WHERE [YearsAtThisAddress] IS NULL
                  AND ID IS NOT NULL
                  AND [SSN] = m.[SSN]
             ORDER BY ID)
         ELSE ID
    END AS ID,
    [SSN],
    [Borrower FirstName], [Borrower LastName],
    [Borrower Email], [Home Phone], [Cell Phone],
    [Marital Status], [Date of Birth],
    [Current Street Address], [City], [State], [Zip],
    [YearsAtThisAddress], [Sex], [Ethnicity], [Race]
FROM
    [Mortgage] AS m
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...