Создать значение по умолчанию, когда левое соединение возвращает ноль - PullRequest
0 голосов
/ 16 ноября 2018

У меня такой запрос

select * 
from Users u left join(
                       select ContactInformationId, 
                              Address, 
                              City, 
                              StateProvince, 
                              CountryId, 
                              ZipCode, 
                              PrimaryContactNumber, 
                              Fax, 
                              MobileNumber 
                       from ContactInformation
                     ) c on u.ContactInformationId = c.ContactInformationId 
left join  (
            select ISNULL(MerchantId, @MerchantId) as MerchantId, 
                   ISNULL(MerchantName, @MerchantName) as MerchantName, 
                   ISNULL(MerchantEmail, @MerchantEmail) as MerchantEmail, 
                   ISNULL(ContactInformationId, @ContactInformationId) as ContactInformationId 
            from Merchants
           ) m on c.ContactInformationId = m.ContactInformationId 
left join (
           select IsNull(MidId, 0) as MidId, 
                  IsNull(MidName, '') as MidName, 
                  IsNull(MerchantId, 0) as MerchantId, 
                  IsNull(Param_2, '') as Param_2, 
                  IsNull(Param_6, '') as Param_6 
           from Mids
          ) MID on m.MerchantId = MID.MerchantId 
where u.FirstName = '' and u.LastName = '' or u.MiddleName = ''

enter image description here

и такой результат. Я хочу спросить, есть ли способ сделать значения по умолчанию для этих столбцов NULL?

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать ISNULL() в запросе выбора.

например;Я установил 0, когда MerchantId равен нулю, и установил пустую строку, когда MidName равно нулю

ISNULL(MerchantId, 0)
ISNULL(MidName, '')

Сделайте это в основном запросе.

например;

select ISNULL(m.MerchantId, 0), ISNULL(Mid.MidName, '') 
from Users u
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...