|
|
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Таблица: ID (identity)|Smena| Date | SingleSum 1 01.02.04 458 2 01.02.04 587 1 02.02.04 188 2 02.02.04 168 1 03.02.04 234 2 03.02.04 576 1 04.02.04 237 2 04.02.04 766 Нужно создать выборку сумм по дате за два периода напрмер с 1 по 2 и с 3 по 4 чтобы получилось: период1 | период2 1045 810 356 1003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 15:26:27 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Хмм... Немного не в тему, кроме того я не настолько силен в sql, чтобы разобраться в смысле того, что там понаписано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 15:45:46 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Каким образом задается период? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 15:53:10 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Where Date>=... and Date<=... для каждого периода, их всего 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:07:51 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:12:08 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Вторая редакция Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:13:30 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:16:49 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
(c)VIG Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Куль :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:20:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
(c)VIG Группировка все таки по дате нужна. А поле Smena я в примере вообще не вижу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:21:38 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
2 All Не канает 2 Vsevolod V 2я редакция Выдает ошибку: Подзапрос должен выдавать одно значение 2 (c)VIG Смены игнорируем, нужны суммы за каждый целый день ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:31:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
можно и так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:35:13 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
AntonariyСмены игнорируем, нужны суммы за каждый целый день А что, разве сказано, что периоды обязательно равной величины? 2 VIG Порядковый день периода/Значение по периоду 1/Значение по периоду 2 1/1045/810 2/356/1003 3/число/???? , если я правильно понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:36:29 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Да, а у VIG а еще INNER JOIN может крякнуться при отсутствии данных в одном из периодов (тут нужен FULL OUTER JOIN) по поводу игнорирования не понял. Откуда 2 строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:38:37 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
2 Geo: понял правильно, а периоды подразумеваются равной длины, но мало ли что юзверь поставит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:42:33 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
2 Автор Покажи, пожалуйста, требуемый результат для таких данных: D (identity)|Smena| Date | SingleSum 1 01.02.04 458 2 03.02.04 168 2 04.02.04 766 1 05.02.04 234 2 06.02.04 576 2 07.02.04 576 И заданных периодов: с 1/02/04 по 3/02/04 с 4/02/04 ао 7/02/04 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:42:54 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
2 Geo См. самое начало, данные именно в таком виде: выручка 1й смены за день, выручка 2й смены за день, так же за следующий день, исключений не бывает. Твой пример данных не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:50:04 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
А, понял. Тогда (но только для непересекающихся периодов): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 17:05:20 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
2 assa: Круто, под акцессом работает, но мне нужно этот запрос выполнять из VB, а под ним ругань: слишком мало параметров - требуется 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 17:31:07 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
для (в том числе) пересекающихся периодов - что -то вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. - не могу проверить - 97 - приходится подзапрос выделять в отдельный (и переносит туда параметры). __ ЗЫ для VB э-убери объявления а-параметров и а-строку а-шей а-в-коде (вшивай даты в SQL-строку вместо [DATEx]). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 17:42:19 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Блин, ну когда уже народ научиться нормально обьяснять ,что требуется. Ну ,если действительно авторданные именно в таком виде: выручка 1й смены за день, выручка 2й смены за день, так же за следующий день, исключений не бывает то можно так : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 21:48:56 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
VIGНу ,если действительно... автор...исключений не бывает Опытный программер такие заявления воспринимает с точностью до наоборот Ибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 10:47:28 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Если я верно понял автору необходимо сравнить два периода по месяцам, например: период 1 с 01.02.04 по 02.02.04 |период 2 с 03.02.04 по 04.02.04 или период 1 с 01.02.04 по 02.02.04 |период 2 с 06.02.04 по 08.02.04 в общем разне периоды до нескольких лет например (в том числе и пересекающиеся период 1 с 01.02.04 по 05.02.04 |период 2 с 04.02.04 по 09.02.04 причем количество дней в периода 1 = кол дням периода 2 Есть такой вариант: (5 запросов. одним не могу) поля таблица1 DateDat SingleSum запрос "Серия1" PARAMETERS [начало периода] DateTime, [конец периода] DateTime; SELECT t1.DateDat AS DateDatS1, Sum(t1.SingleSum) AS Sum_SingleSum FROM Таблица1 AS t1 GROUP BY t1.DateDat HAVING (((t1.DateDat)>=[начало периода] And (t1.DateDat)<=[конец периода])); Запрашивает начало и конец периода ________________________________________ Запрос "Серия2" PARAMETERS [Выберете интервал] Long; SELECT t1.DateDat, Sum(t1.SingleSum) AS Sum_SingleSum FROM Таблица1 AS t1 GROUP BY t1.DateDat HAVING ((([t1].[DateDat])>=DateAdd("d",[Выберете интервал],(select min(Серия1.DateDatS1) from Серия1)) And ([t1].[DateDat])<=DateAdd("d",[Выберете интервал],(select max(Серия1.DateDatS1) from Серия1)))); Запрашивает интервал и в зависимости от начала и конца преиода выбранного в первом запросе выбирает соответствующие начало и конец второго периода. Например интервал равный 3 выберет для второго периода даты на три мес позже(01.02.04 > 01.05.04 и т.д.) _______________________________________ Запрос "Серия12" SELECT S1.DateDatS1, S1.Sum_SingleSum, (select sum(1) from Серия1 S2 where S1.DateDatS1 >= S2.DateDatS1) AS номер FROM Серия1 AS S1; Нумерует строки "Серия1"(повозрастанию дат) для последующего сведения _______________________________________ Запрос "Серия22" SELECT S1.DateDat, S1.Sum_SingleSum, (select sum(1) from Серия2 S2 where S1.DateDat >= S2.DateDat) AS номер FROM Серия2 AS S1; Нумерует строки "Серия2"(повозрастанию дат) для последующего сведения _______________________________________ Запрос "СерияAll" SELECT Серия12.DateDatS1, Серия12.Sum_SingleSum, Серия22.DateDat, Серия22.Sum_SingleSum FROM Серия12 INNER JOIN Серия22 ON Серия12.номер = Серия22.номер; Сводит всё до кучи PS. По моему все работает с любым количеством дней в периодах, и с пересекающимися датами тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 04:13:31 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32665263&tid=1672175]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 358ms |

| 0 / 0 |
