![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос к таблице [D5, Paradox]
Bob © (2003-08-11 11:59:00)
Хелп, плиз. Есть таблица следующего вида
Date0 - дата получения заказа
Sum0 - сумма заказа
Date1 - дата выполнения заказа
Sum1 - сумма выполненного заказа
Необходимо сделать выборку за период, в которую входит (по датам) сумма принятых и сумма выполненных заказов
HSolo (2003-08-11 13:29:00) [1]
То, что Вы хотите, одним запросом, боюсь, не сделать
Вариант 1:
делаем врем.таблицу temp_table: fdate, sum0, sum1
1-й запрос:
insert into temp_table(fdate, sum0, sum1)
select date0, sum(sum0), 0 from YourTable
where date0 between интервал
group by date0
2-й запрос:
insert into temp_table(fdate, sum0, sum1)
select date1, 0, sum(sum1) from YourTable
where date1 between интервал
group by date1
3-й запрос:
select fdate, sum(sum0), sum(sum1)
from temp_table
group by fdate
order by fdate
Вариант 2: 1-й и 2-й запросы объединить в union; возможно, потребуется cast
Вариант 3:
если возможно - пересмотреть структуру таблицы, сделать что-то вроде:
fdate - дата
foper - вид операции (принято / выполнено)
fsum - сумма
Из такой таблицы то, что Вам надо, получится одним запросом (с union)
Hawk2 (2003-08-11 13:00:00) [2]
Ну тогда добавь
SELECT Date0, SUM(Sum0)
FFOM YourTableName
WHERE (Date0<FirstDate) AND (Date0>SecondDate)
GROUP BY Date0
Anatoly Podgoretsky (2003-08-11 12:58:00) [3]
Примерно так
SELECT DateN,SUM(Sum0).SUM(Sum1) from table group by DateN order by DateN where DateN between интервал
Bob (2003-08-11 12:47:00) [4]
таблица к вопросу
date0 Sum0 date1 sum1
01/08/03 100.00 05/08/03 150.00
01/08/03 50.00 03/08/03 50.00
03/08/03 200.00 07/08/03 190.00
02/08/03 185.00 05/08/03 185.00
05/08/03 120.00
результат
за период с 01/08/03 по 05/08/03
дата принято выполнено
01/08/03 150.00
02/08/03 185.00
03/08/03 200.00 50.00
05/08/03 120.00 335.00
Hawk2 (2003-08-11 12:42:00) [5]
SELECT Date0, SUM(Sum0)
FFOM YourTableName
GROUP BY Date0 общая сума заказов по каждому дню. Аналогично будет общая сума выполненых заказов по каждому дню (только поля Date1, Sum1).
Anatoly Podgoretsky (2003-08-11 12:38:00) [6]
Пока ты не опишешь нормально задачу, тебе будет тяжело помочь, ответы будут вкривь и вкось, говорил же в чате, опиши нормально и примером данных и рузультата, который хочешь получить или просто своими слова опиши.
HSolo (2003-08-11 12:31:00) [7]
Какая дата - получения заказа или выполнения?
Hawk2 (2003-08-11 12:27:00) [8]
Общая сума принятых и выполненых заказов или как?
Bob (2003-08-11 12:25:00) [9]
Уточнение вопроса:
результат в формате
дата, сумма принятых заказов, сумма выполненных заказов