2017-01-06 5 views
0

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

Примечание: мне нужен этот результат, используя внутреннее соединение. Есть таблица с отношением к таблице клиентов, которую я не могу получить от имени пользователя, создавшего этого клиента, и всегда не имеет нулевого значения, потому что ни один клиент не был создан без создателя, но для моей вышеупомянутой проблемы приходят клиенты без гражданства, назначенные им, и некоторые из них имеют гражданство, назначенное им, и мне нужны эти обе записи.

Заранее спасибо

+0

«Примечание: я нужен этот результат, используя внутреннее соединение» Почему вы не можете использовать левый присоединиться? –

+0

Я устал использовать его, но его возвращает null или ненулевые значения, а также некоторые ошибки. –

+0

Пожалуйста, напишите, что вы попробовали (насколько это возможно) и какие ошибки/плохие результаты вы получили. Левые соединения могут быть сложными, когда задействовано несколько таблиц, но это, скорее всего, правильный способ получить то, что вы хотите. –

ответ

0

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

Select newValue.[columnnames] , dbo.[Yemnak Nationalities].[columnname] 
    (Select * 
    FROM dbo.ContactBase INNER JOIN dbo.AccountBase ON dbo.ContactBase.new_Account = dbo.AccountBase.AccountId 
    INNER JOIN dbo.SystemUserBase ON dbo.ContactBase.ModifiedBy = dbo.SystemUserBase.SystemUserId 
    INNER JOIN dbo.[Yemnak Title] ON 
    dbo.ContactBase.new_Title = dbo.[Yemnak Title].AttributeValue 
    INNER JOIN dbo.[Yemnak Gender] 
    ON dbo.ContactBase.new_Gender = dbo.[Yemnak Gender].AttributeValue 
    ) newvalue Left Outer Join dbo.[Yemnak Nationalities] ON  
    newValue.new_Nationality = dbo.[Yemnak Nationalities].AttributeValue 

Примечание: - Так как нет выбора части не было представлено, я только предположил, что некоторые столбцы

+0

Спасибо, очень, ур очень классный –

Смежные вопросы