Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизSQL Найти похожие ветки
← →
z_olga_al (2003-01-23 12:08) [0]Уважаемые Мастаки!
Помогите девушке!
Имеется одна таблица Paradox в которой среди множества полей есть 3 поля:
"код поста" - Integer, "Дата взятия анализа"-date, "Результат анализа" -rialНужно получить среднее значение анализа (avg(A)) за период (between"01.01.2002"
and "31.12.2002") and ( between"01.01.2001" and "01.12.2001") только по тем постам,
которые брали анализ в 2002 году.
При всех попытках создать запрос методом рекурсивного связывания ничего не выходит, получается одна и то же величина среднего значения как за 2002 и за 2001 г. Подскажите как из одной таблицы получить avg(A) отдельно за 2002 и 2001?
Ольга <z_olga_al@ukr.net>
← →
Johnmen (2003-01-23 12:16) [1]Например :
SELECT AVG(A)
FROM T
WHERE D BETWEEN "01.01.2001" AND "31.12.2001"
UNION ALL
SELECT AVG(A)
FROM T
WHERE D BETWEEN "01.01.2002" AND "31.12.2002"
← →
gsv_ (2003-01-23 12:45) [2]получить avg(A) отдельно за 2002 и 2001?
самое простое ...
select "2001", Avg(A)
from XXXXX.db
where xxxDate between "01.01.2001" and "01.12.2001"
union
select "2002", Avg(A)
from XXXXX.db
where xxxDate between "01.01.2002" and "31.12.2002"
получить среднее значение анализа (avg(A)) за период (between"01.01.2002" and "31.12.2002") and
(between"01.01.2001" and "01.12.2001") только по тем постам,
которые брали анализ в 2002 году.
Что то не допонял: периоды не перекрываются, а между ними AND стоит.
А если нужны рез-ты по анализам в 2002 году только для тех, что были в 2001 то:
select Avg(A) from XXXXX.db
where xxxDate between between"01.01.2002"
and "31.12.2002") and kod_posta in
(select kod_posta from xxxxx.db where xxxDate between"01.01.2001" and "01.12.2001"
А что за метод рекурсивного связывания?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c