Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];

Вниз

запрос к таблице   Найти похожие ветки 

 
Bob   (2003-08-11 11:59) [0]

Хелп, плиз. Есть таблица следующего вида
Date0 - дата получения заказа
Sum0 - сумма заказа
Date1 - дата выполнения заказа
Sum1 - сумма выполненного заказа
Необходимо сделать выборку за период, в которую входит (по датам) сумма принятых и сумма выполненных заказов


 
Bob   (2003-08-11 12:25) [1]

Уточнение вопроса:
результат в формате
дата, сумма принятых заказов, сумма выполненных заказов


 
Hawk2   (2003-08-11 12:27) [2]

Общая сума принятых и выполненых заказов или как?


 
HSolo   (2003-08-11 12:31) [3]

Какая дата - получения заказа или выполнения?


 
Anatoly Podgoretsky   (2003-08-11 12:38) [4]

Пока ты не опишешь нормально задачу, тебе будет тяжело помочь, ответы будут вкривь и вкось, говорил же в чате, опиши нормально и примером данных и рузультата, который хочешь получить или просто своими слова опиши.


 
Hawk2   (2003-08-11 12:42) [5]

SELECT Date0, SUM(Sum0)
FFOM YourTableName
GROUP BY Date0 общая сума заказов по каждому дню. Аналогично будет общая сума выполненых заказов по каждому дню (только поля Date1, Sum1).


 
Bob   (2003-08-11 12:47) [6]

таблица к вопросу
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


 
Anatoly Podgoretsky   (2003-08-11 12:58) [7]

Примерно так
SELECT DateN,SUM(Sum0).SUM(Sum1) from table group by DateN order by DateN where DateN between интервал


 
Hawk2   (2003-08-11 13:00) [8]

Ну тогда добавь
SELECT Date0, SUM(Sum0)
FFOM YourTableName
WHERE (Date0<FirstDate) AND (Date0>SecondDate)
GROUP BY Date0


 
HSolo   (2003-08-11 13:29) [9]

То, что Вы хотите, одним запросом, боюсь, не сделать

Вариант 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)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
1-1475
Aleksandr
2003-08-18 14:37
2003.09.01
Что за ошибка у компилятора с EncodeDateTime?


14-1668
jack128
2003-08-12 13:14
2003.09.01
Именниники 12 августа


1-1490
Alibaba
2003-08-18 05:17
2003.09.01
К-во елементов


3-1354
Vladimir Bolotin
2003-07-16 20:59
2003.09.01
Обновление информации в RXLookupCombo


1-1466
MakNik
2003-08-18 10:37
2003.09.01
как запретить повторнуый запуск программы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский