2016-05-27 2 views
-1

Я получаю проблемы с ниже SQL запросом, не может принести желаемый результатвыпуска SQL присоединиться запрос

SELECT 
    C.Department__c 
    ,C.Email 
    ,R.AcctID__c 
    ,C.ContactID__c 
    ,R.TransactionDueDate 
    ,R.PubNbr__c 
FROM RenewalNotificationProgramDE R 
LEFT JOIN ContactNewDE C 
    ON R.AcctID__c = C.AcctID__c 

Идея заключается в том, чтобы присоединиться всю AccountID(AcctID__c) в RenewalNotificationProgramDE таблице к соответствующим контактам в ContactNewDE таблицы. AccountID - это внешний ключ в таблице ContactNewDE. Я использую Innerjoin в своем запросе, так как хочу, чтобы все AccountID отображали их соответствующие контакты в ContactNewDE.

+4

вы не используете внутреннее соединение в этом запросе. можете ли вы разместить некоторые данные примера и ожидаемый результат –

+0

Используете ли вы MySQL или MS SQL Server? Не помещайте те продукты, которые не задействованы. – jarlh

ответ

0

Просто замените LEFT JOIN на INNER JOIN, чтобы получить все ACCOUNTID с соответствующими контактами: -

Использование ниже запроса: -

SELECT 
C.Department__c 
,C.Email 
,R.AcctID__c 
,C.ContactID__c 
,R.TransactionDueDate 
,R.PubNbr__c 
FROM RenewalNotificationProgramDE R 
INNER JOIN ContactNewDE C 
ON R.AcctID__c = C.AcctID__c 
0

Вы использовали LEFT JOIN в запросе, который вам нужно измените его на INNER JOIN. Я думаю, вы бы лучше, чтобы заметить ниже примечание о различиях между левым и внутренними соединениями:

  • INNER JOIN: Возвращает все строки, когда есть хотя бы один матч в ОБА столов
  • LEFT JOIN: Возвращение все строки из левой таблицы и в соответствующих строк из таблицы справа
Смежные вопросы