Помощь с оператором SQL INNER JOIN - PullRequest
0 голосов
/ 28 июля 2011

У меня есть 2 таблицы, одна показывает мне адреса клиентов, а другая - все данные заказа. Я хотел бы запросить две таблицы, используя JOIN, чтобы я мог получить набор результатов, показывающий мне все адреса электронной почты для клиентов, которые не заказывали в прошлом году.

пока у меня есть это, но мое внутреннее соединение не работает, если вы можете помочь:

SELECT SHH.CUST_NO,ADR.EMAIL  

FROM SALES_HISTORY_HEADER SHH,ADDRESS ADR

INNER JOIN ADR ON
SHH.CUST_NO = ADR.CUST_NO  


GROUP BY SHH.CUST_NO 
HAVING Max(SHH.INVOICE_DATE) < '20100728'

1 Ответ

3 голосов
/ 28 июля 2011

Вы смешивали стили соединения.Если вы собираетесь использовать явные объединения (и вам следует это сделать), вы указываете вторую таблицу в JOIN, а не перечисляете все таблицы в предложении FROM.

SELECT SHH.CUST_NO,ADR.EMAIL  
    FROM SALES_HISTORY_HEADER SHH
        INNER JOIN ADDRESS ADR 
            ON SHH.CUST_NO = ADR.CUST_NO  
    GROUP BY SHH.CUST_NO, ADR.EMAIL
    HAVING Max(SHH.INVOICE_DATE) < '20100728'
...