0

2つのテーブルがあります。1つは顧客の住所を示し、もう1つはすべての注文データを示しています。JOINを使用して2つのテーブルにクエリを実行し、昨年注文していない顧客のすべての電子メールアドレスを表示する結果セットを取得できるようにします。

これまでのところ私はこれを持っていますが、あなたが助けてくれるなら、私の内部結合は機能していません:

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'
4

1 に答える 1

3

あなたは結合スタイルを混ぜていました。明示的結合を使用する場合(および使用する必要がある場合)は、FROM句にすべてのテーブルをリストするのではなく、JOINに2番目のテーブルを指定します。

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'
于 2011-07-28T19:56:23.567 に答える