У меня есть ежедневные измерения помещения для хранения температуры в таблице (отдельной таблице для каждой комнаты):Зерноуборочных интервалы дат от 2 таблиц
begindate | enddate | temperature | room_id -------------------------------------------- 1/1/2014 | 1/2/2014 | 10 | 1 1/2/2014 | 1/3/2014 | 12 | 1 1/4/2014 | 1/5/2014 | 11 | 1 1/5/2014 | 1/6/2014 | 12 | 1 1/6/2014 | 1/7/2014 | 10 | 1 1/7/2014 | 1/8/2014 | 11 | 1 1/8/2014 | 1/9/2014 | 12 | 1 ...... 1/29/2014 | 1/30/2014| 10 | 1 1/30/2014 | 1/31/2014| 12 | 1 1/31/2014 | 2/1/2014 | 10 | 1 ...... 3/1/2014 | 3/2/2014 | 14 | 1 ..... Does not show all dates but the measurements are daily
Второй таблица содержит даты, когда помещение для хранения было занят
begindate | enddate | room_id --------------------------------- 1/6/2014 | 1/9/2014 | 1 1/15/2014 | 1/29/2014 | 1 3/1/2014 | 3/2/2014 | 1
Мне нужна средняя температура в помещении во время ее занятости или месячной температуры в том случае, если комната не была занята или занята в течение более чем одного месяца. С учетом указанных выше данных, результат должен быть что-то вроде:
begindate | enddate | avg_temp | room_id -------------------------------------------------- 1/1/2014 | 1/6/2014 | 11 | 1 1/6/2014 | 1/9/2014 | 11 | 1 1/9/2014 | 1/15/2014 | 11 | 1 1/15/2014 | 1/29/2014 | 12 | 1 1/29/2014 | 2/1/2014 | 11 | 1 2/1/2014 | 3/1/2014 | 13 | 1 3/1/2014 | 3/2/2014 | 14 | 1 3/2/2014 | 4/1/2014 | 15 | 1
Я попытался сделать это несколькими способами, но каждый раз, когда я получаю некоторые повторяющиеся перекрывающихся даты или отсутствуют интервалы дат. Любая помощь будет принята с благодарностью.
код создают температуру данных таблицы:
INSERT INTO @temps values ('01/01/2014','01/02/2014','10','1'), ('01/02/2014','01/03/2014','12','1'), ('01/03/2014','01/04/2014','11','1'), ('01/04/2014','01/05/2014','11','1'), ('01/05/2014','01/06/2014','12','1'), ('01/06/2014','01/07/2014','10','1'), ('01/07/2014','01/08/2014','11','1'), ('01/08/2014','01/09/2014','12','1'), ('01/09/2014','01/10/2014','10','1'), ('01/10/2014','01/11/2014','12','1'), ('01/11/2014','01/12/2014','10','1'), ('01/12/2014','01/13/2014','10','1'), ('01/13/2014','01/14/2014','11','1'), ('01/14/2014','01/15/2014','12','1'), ('01/15/2014','01/16/2014','11','1'), ('01/16/2014','01/17/2014','14','1'), ('01/17/2014','01/18/2014','12','1'), ('01/18/2014','01/19/2014','10','1'), ('01/19/2014','01/20/2014','11','1'), ('01/20/2014','01/21/2014','10','1'), ('01/21/2014','01/22/2014','11','1'), ('01/22/2014','01/23/2014','12','1'), ('01/23/2014','01/24/2014','11','1'), ('01/24/2014','01/25/2014','14','1'), ('01/25/2014','01/26/2014','12','1'), ('01/26/2014','01/27/2014','10','1'), ('01/27/2014','01/28/2014','11','1'), ('01/28/2014','01/29/2014','10','1'), ('01/29/2014','01/30/2014','11','1'), ('01/30/2014','01/31/2014','12','1'), ('01/31/2014','02/01/2014','11','1'), ('02/01/2014','02/02/2014','14','1'), ('02/02/2014','02/03/2014','12','1'), ('02/03/2014','02/04/2014','10','1'), ('02/04/2014','02/05/2014','11','1'), ('02/05/2014','02/06/2014','10','1'), ('02/06/2014','02/07/2014','11','1'), ('02/07/2014','02/08/2014','12','1'), ('02/08/2014','02/09/2014','11','1'), ('02/09/2014','02/10/2014','14','1'), ('02/10/2014','02/11/2014','12','1'), ('02/11/2014','02/12/2014','10','1'), ('02/12/2014','02/13/2014','11','1'), ('02/13/2014','02/14/2014','10','1'), ('02/14/2014','02/15/2014','11','1'), ('02/15/2014','02/16/2014','12','1'), ('02/16/2014','02/17/2014','11','1'), ('02/17/2014','02/18/2014','14','1'), ('02/18/2014','02/19/2014','12','1'), ('02/19/2014','02/20/2014','10','1'), ('02/20/2014','02/21/2014','11','1'), ('02/21/2014','02/22/2014','10','1'), ('02/22/2014','02/23/2014','11','1'), ('02/23/2014','02/24/2014','12','1'), ('02/24/2014','02/25/2014','11','1'), ('02/25/2014','02/26/2014','14','1'), ('02/26/2014','02/27/2014','12','1'), ('02/27/2014','02/28/2014','15','1'), ('02/28/2014','03/01/2014','11','1'), ('03/01/2014','03/02/2014','11','1'), ('03/02/2014','03/03/2014','12','1'), ('03/03/2014','03/04/2014','11','1'), ('03/04/2014','03/05/2014','14','1'), ('03/05/2014','03/06/2014','12','1'), ('03/06/2014','03/07/2014','15','1'), ('03/07/2014','03/08/2014','11','1'), ('03/08/2014','03/09/2014','12','1'), ('03/09/2014','03/10/2014','11','1'), ('03/10/2014','03/11/2014','14','1'), ('03/11/2014','03/12/2014','12','1'), ('03/12/2014','03/13/2014','15','1'), ('03/13/2014','03/14/2014','11','1'), ('03/14/2014','03/15/2014','12','1'), ('03/15/2014','03/16/2014','11','1'), ('03/16/2014','03/17/2014','14','1'), ('03/17/2014','03/18/2014','12','1'), ('03/18/2014','03/19/2014','15','1'), ('03/19/2014','03/20/2014','11','1'), ('03/20/2014','03/21/2014','12','1'), ('03/21/2014','03/22/2014','11','1'), ('03/22/2014','03/23/2014','14','1'), ('03/23/2014','03/24/2014','12','1'), ('03/24/2014','03/25/2014','15','1'), ('03/25/2014','03/26/2014','11','1'), ('03/26/2014','03/27/2014','12','1'), ('03/27/2014','03/28/2014','11','1'), ('03/28/2014','03/29/2014','14','1'), ('03/29/2014','03/30/2014','12','1'), ('03/30/2014','03/31/2014','15','1'), ('03/31/2014','04/01/2014','11','1'), ('04/01/2014','04/02/2014','12','1'), ('04/02/2014','04/03/2014','11','1'), ('04/03/2014','04/04/2014','14','1'), ('04/04/2014','04/05/2014','12','1'), ('04/05/2014','04/06/2014','15','1')
Пожалуйста, ваши попытки в решении этого, поэтому мы можем помочь вам определить, что пошло неправильно. –