|
запрос с датой
|
|||
---|---|---|---|
#18+
Помогите тупому с запросом Есть тейбл типа Schet.........type........nach.......kub............date 1111............1............10.......... ............01/01/2000 1111............2............ .......... 3 ............01/01/2007 1111............1............1............ ............01/01/2008 1111............2............ ............5............01/02/2008 1112............1............0............ ............01/01/2008 1112............2............ ............2............01/01/2009 1113............2............ ............3............01/01/2009 нужно сгруппировать по Schet nach при type=1 с самой поздней датой плюс сумма kub при type=2 и датой более поздней , а про отсутствии type=1 пуст будет скажем -1 т.е должно выглядеть так 1111............6 1112............2 1113............-1 заранее благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 18:06 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
rock-n-rollнужно сгруппировать по Schet nach при type=1 с самой поздней датой плюс сумма kub при type=2 и датой более поздней , а про отсутствии type=1 пуст будет скажем -1 crystal ball overhead, однако. Нужно взять 1. (сумму/максимум/среднее?) от nach(или чего?) при type=1 (про дату вообще втупил) группируя по schet (и ещё чему-то?) 2. плюс сумма kub при type=2 и датой более поздней (чем что? - см.п.1) 3. дальше понятно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 18:15 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
Хотите чтобы помогли - соблюдайте правила обратите внимание на параграф ПравилаПри написании сообщений с просьбой о составлении запроса - хорошим тоном считается предоставление скрипта на создание таблицы и заполнение ее тестовыми данными, а также ожидаемого результата выборки, если это не очевидно из вопроса. И научитесь задавать вопросы rock-n-rollнужно сгруппировать по Schet nach при type=1 с самой поздней датой плюс сумма kub при type=2 и датой более поздней , а про отсутствии type=1 пуст будет скажем -1 Еще раз и по русски пожалуйста . Я эту белиберду понял так нужно для каждого Schet - получить : 1. nach для type=1 на максимальную дату 2. к числу из п.1 прибавить kub для type=2 насчет того на какую дату - тут не ясно то-ли на максимальную дату, то ли на дату ,следующую после даты из п.1 3. если для Schet нет записей с type=1 - то результат = "-1" кстати еще неясно что делать если нет нет записей с type=2 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 18:55 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
Извините . Тогда без лишних шифров. Schet-это абонент. Type=1 поверка счетчика воды при этом nach-показания счетчика на конкретную дату (date) . Type=2 это показанные абонентом кубы( kub) Нужно просто узнать показания счетчиков на текущий момент. Словом временно реализовал так создал курсор со Schet Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 10:26 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
rock-n-rollИзвините . Тогда без лишних шифров. Schet-это абонент. Type=1 поверка счетчика воды при этом nach-показания счетчика на конкретную дату (date) . Type=2 это показанные абонентом кубы( kub) Нужно просто узнать показания счетчиков на текущий момент. Если я правильно понял, то можно попробовать так,но без тестовых данных трудновато. Все-таки я бы принял к сведению: При написании сообщений с просьбой о составлении запроса - хорошим тоном считается предоставление скрипта на создание таблицы и заполнение ее тестовыми данными, Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 11:01 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
Не проверял как будет работать. Написал "с листа". Поэтому не уверен можно ли в запросе сразу вычесть из kubinmes значение kubinmes_2 или потребуется второй запрос Код: 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. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 11:10 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
Tohan_ORA rock-n-rollИзвините . Тогда без лишних шифров. Schet-это абонент. Type=1 поверка счетчика воды при этом nach-показания счетчика на конкретную дату (date) . Type=2 это показанные абонентом кубы( kub) Нужно просто узнать показания счетчиков на текущий момент. Если я правильно понял, то можно попробовать так,но без тестовых данных трудновато. Все-таки я бы принял к сведению: При написании сообщений с просьбой о составлении запроса - хорошим тоном считается предоставление скрипта на создание таблицы и заполнение ее тестовыми данными, Код: plaintext 1. 2. 3. 4. 5.
Нет все-таки давайте тестовые данные. Вот допустим.что последней поверки не было, а снятие перед ним и поверка предшествующая ему были: Schet.........type........nach.......kub............date 1111............1............10.......... ............01/01/2000 1111............2............ .......... 3 ............01/01/2007 1111............1............1............ ............01/01/2008 1111............2............ ............5............01/02/2008 1112............1............0............ ............01/01/2008 1112............2............ ............2............01/01/2009 1113............2............ ............3............01/01/2009 В таком случае запрос отработает неправильно. Для такого случая я может бы даже сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 11:12 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
rock-n-roll, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 11:49 |
|
запрос с датой
|
|||
---|---|---|---|
#18+
Проверим для двух случаев: 1: CREATE CURSOR sch_vod (Schet N(4),type N(1),nach N(3),kub N(3),date D(8)) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,1,10,0,CTOD("01/01/2000")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,2,0,3,CTOD("01/01/2007")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,1,1,0,CTOD("01/01/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,2,0,5,CTOD("01/02/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1112,1,0,0,CTOD("01/01/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1112,2,0,2,CTOD("01/01/2009")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1113,2,0,3,CTOD("01/01/2009")) 2: Проверим для двух случаев: CREATE CURSOR sch_vod (Schet N(4),type N(1),nach N(3),kub N(3),date D(8)) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,1,10,0,CTOD("01/01/2000")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,2,0,3,CTOD("01/01/2007")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,1,1,0,CTOD("01/01/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1111,2,0,5,CTOD("01/02/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1112,1,0,0,CTOD("01/01/2008")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1112,2,0,2,CTOD("01/01/2009")) INSERT INTO sch_vod (Schet,type,nach,kub,date) VALUES (1113,2,0,3,CTOD("01/01/2009")) Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 13:29 |
|
|
start [/forum/topic.php?fid=41&fpage=119&tid=1586149]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
others: | 320ms |
total: | 481ms |
0 / 0 |