2017-08-15 2 views
1

テーブル日付_ユーザには、日付を格納する1列のRUNDATE1(例:2016-01-01)があります。この日付は、ユーザーの要求に基づいて変更できます。日付の値が別のテーブルから来ている場合に、左外部結合の日付条件を使用します。

私は、クエリの下に書いていますし、それがエラーを投げている:テーブルDate_Userはどこにも左外側に参加使用されていないため

Select A.NAME, B.DEPT_NAME, B.START_DATE, B.END_DATE 
FROM TABLE A LEFT OUTER JOIN 
    TABLE B 
     ON A.DEPT_ID = B.DEPT_ID AND 
     DATE_USER.RUNDATE1 BETWEEN B.START_DATE AND B.END_DATE; 

クエリの上には、エラーを投げています。

誰でもクエリを変更する方法を提案してください。

注:これはサンプルクエリのみです。元の照会には、必要な日付条件と同様のタイプの外部結合が10個残っています。

+0

どのように多くの行をDateUserに? 1つだけの場合は、DateUserにクロス参加します。 –

答えて

0

DATE_USERがTABLE AでもTABLE Bでもない場合は、追加のJOINを実行する必要があります。

0

あなたは試すことができます:

Select A.NAME, B.DEPT_NAME, B.START_DATE, B.END_DATE 
FROM TABLE A LEFT OUTER JOIN 
    TABLE B 
     ON A.DEPT_ID = B.DEPT_ID AND 
LEFT JOIN DATE_USER ON 1 = 1 AND 
     DATE_USER.RUNDATE1 BETWEEN B.START_DATE AND B.END_DATE; 
関連する問題