У меня есть две таблицы, TABLE1 и TABLE2 в следующей структуре:
TABLE1:
....|VALUE1| STARTDATE| ENDDATE|....
....|1 |2015-01-01|2015.01.03|....
....|2 |2015-01-01|2015.01.04|....
....|3 |2015-01-02|2015.01.04|....
....|4 |2015-01-03|2015.01.05|....
....|5 |2015-01-03|2015.01.05|....
....|6 |2015-01-03|2015.01.06|....
....|7 |2015-01-04|2015.01.06|....
....|8 |2015-01-04|2015.01.08|....
....|N |2015-01-04|2015.01.09|....
TABLE2:
DATE| TEMPERATURE|....
2015-01-01| 1|....
2015-01-02| 2|....
2015-01-03| 1|....
2015-01-04| 3|....
2015-01-05| 2|....
2015-01-06| 4|....
2015-01-07| 3|....
2015-01-08| 3|....
2015-01-09| 3|....
`
И я хотел бы объединить их следующим образом:
....|VALUE1| STARTDATE| ENDDATE| AVG TEMPERATURE|
....|1 |2015-01-01|2015.01.03| 1.3|
....|1 |2015-01-01|2015.01.03| 1.3|
....|2 |2015-01-01|2015.01.04| 1.75|
....|3 |2015-01-02|2015.01.04| 2|
....|4 |2015-01-03|2015.01.05| 2|
....|5 |2015-01-03|2015.01.05| 2|
....|6 |2015-01-03|2015.01.06| 2.5|
....|7 |2015-01-04|2015.01.06| 3|
....|8 |2015-01-04|2015.01.08| 3|
....|N |2015-01-04|2015.01.09| 3|
, поэтому я хотел бы рассчитать среднюю температуру за этот период (между датами начала и окончания) в новой структуре.
Я пробовал следующий запрос:
select TABLE1.STARTDATE, TABLE1.ENDDATE,AVG(TABLE2.TEMPERATURE) as AVGTEMPERATURE
from TABLE1
left outer join TABLE2
on TABLE2.Date between TABLE1.STARDATE and TABLE1.ENDDATE
, но он не работает и показывает это сообщение:
Столбец TABLE1.STARDATE недопустим в списке выбора, посколькуон не содержится ни в статистической функции, ни в предложении GROUP BY.