Понедельник, 30 Июня 2014 г. 20:56
+ в цитатник
Есть две таблицы
Таблица1
| Дата | Объект | Действие | Параметр1 | Параметр2 | | 05.06.2014 | Объект1 | Обслуживание1 | 100 | 12 | | 21.06.2014 | Объект2 | Обслуживание1 | 88 | 17 |
|
Таблица2
| ДатаНачалаАнализа | ДатаКонцаАнализа | СвойствоВещества | | 01.06.2014 | 06.06.2014 | 0.2 | | 02.06.2014 | 07.06.2014 | 0.19 | | 04.06.2014 | 09.06.2014 | 0.15 | | 19.06.2014 | 24.06.2014 | 0.18 | | 20.06.2014 | 25.06.2014 | 0.13 | | 21.06.2014 | 26.06.2014 | 0.17 |
|
первый запрос из Таблица1 выбирает данные по заданому периоду отчёта
PARAMETERS [Forms]![Период]![ДатаНачалаОтчёта] DateTime, [Forms]![Период]![ДатаКонцаОтчёта] DateTime;
SELECT Таблица1.Дата, Таблица1.Объект, Таблица1.Действие, Таблица1.Параметр1, Таблица1.Параметр2
FROM Таблица1
WHERE Таблица1.Дата Between Format([Forms]![Период]![ДатаНачалаОтчёта],"dd/mm/yyyy") And Format([Forms]![Период]![ДатаКонцаОтчёта],"dd/mm/yyyy")
ORDER BY Таблица1.Дата;
второй запрос из Таблица2 выбирает последний ближайший результат анализа, при этом [ДатаОбслуживания] должна соответствовать [Таблица1].[Дата] из первого запроса
PARAMETERS [ДатаОбслуживания] DateTime;
SELECT TOP 1 Таблица2.СвойствоВещества
FROM Таблица2
WHERE (((Таблица2.ДатаНачалаАнализа)<=[ДатаОбслуживания]) AND ((Таблица2.ДатаКонцаАнализа)>[ДатаОбслуживания]))
ORDER BY Таблица2.ДатаНачалаАнализа DESC;
Помогите составить одним запросом с подзапросом, никак не пойму как их связать.
Результат - отчёт за определённый период (01.06.2014-30.06.2014):
| Дата | Объект | Действие | Параметр1 | Параметр2 | СвойствоВещества | | 05.06.2014 | Объект1 | Обслуживание1 | 100 | 12 | 0.15 | | 21.06.2014 | Объект2 | Обслуживание1 | 88 | 17 | 0.17 |
|
У меня повторяються записи каждый раз с новым значением СвойствоВещества?
http://www.sql.ru/forum/1102898/slozhnost-s-zaprosom
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-