0

以下のクエリでビューを作成しようとしています。

SELECT the_day, t1, t2
  FROM year_days
    LEFT JOIN (SELECT tea_prodcution_date, SUM(quantity) t1
                  FROM TEA_PRODUCTION
                  WHERE field_name like 'T1'
               GROUP BY tea_prodcution_date) ON the_day = tea_prodcution_date
     LEFT JOIN (SELECT tea_prodcution_date, SUM(quantity) t2
                  FROM TEA_PRODUCTION
                  WHERE field_name like 'T2'
               GROUP BY tea_prodcution_date) ON the_day = tea_prodcution_date
 ORDER BY the_day

year_daysは、以下のクエリで作成されたビューです。

SELECT add_months(TRUNC(sysdate - (365), 'YYYY'),to_number(to_char(sysdate,'mm'))) + (level - 1) AS the_day
  FROM dual
CONNECT BY level <=
           to_number(TO_CHAR(last_day(add_months(TRUNC(sysdate, 'YYYY'), 11)),
                             'DDD'))

ビューを作成するために最初のクエリを実行しようとすると、以下のエラーが発生しました。

ORA-00918: column ambiguously defined
00918. 00000 -  "column ambiguously defined"
*Cause:    
*Action:
Error at Line: 10 Column: 58

行からエラーが発生しON the_day = tea_prodcution_dateます。

このエラーを修正して上記のビューを作成するにはどうすればよいですか?

4

1 に答える 1

1

クエリにエラーが見つかりました。クエリは次のように修正する必要があります。

SELECT the_day, t1, t2
  FROM year_days
    LEFT JOIN (SELECT tea_prodcution_date, SUM(quantity) t1
                  FROM TEA_PRODUCTION
                  WHERE field_name like 'T1'
               GROUP BY tea_prodcution_date) aa ON the_day = aa.tea_prodcution_date
     LEFT JOIN (SELECT tea_prodcution_date, SUM(quantity) t2
                  FROM TEA_PRODUCTION
                  WHERE field_name like 'T2'
               GROUP BY tea_prodcution_date) bb ON the_day = bb.tea_prodcution_date
 ORDER BY the_day
于 2012-06-25T05:12:59.387 に答える