
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.10.2002, 09:02:01
|
|||
|---|---|---|---|
|
|||
Помогите, пожалуйста, составить SQL-запрос |
|||
|
#18+
Помогите, пожалуйста, составить SQL-запрос. Очень нужно. Необходимо составить запрос, который поодсчитывает число записей для каждого типа устройств по данной Атс в течении каждого дня месяца, после этого полученные записи суммируются. Для примера возьмем 2 дня. Запрос: (select (case when a_data_gi.ats_tip='3-ГИ(ВУС)' then a_data_gi.ats_out else a_data_gi.ats_tip end)R23,(Count(a_data_general.device))R1, '0' R2 from a_data_general, a_data_gi where (a_data_general.ats='21') and (a_data_general.ats=a_data_gi.ats_in) and (a_data_general.d_in=a_data_gi.d_in)and (a_data_general.d_stativ=a_data_gi.d_stativ) and (a_data_general.device='3-ГИ') and (dt>='9.16.2002 9:00') and (dt<='9.16.2002 18:00') group by a_data_gi.ats_tip,a_data_gi.ats_out Union All select (case when a_data_gi.ats_tip='3-ГИ(ВУС)' then a_data_gi.ats_out else a_data_gi.ats_tip end)R23,'0'R1, (Count(a_data_general.device))R2 from a_data_general, a_data_gi where (a_data_general.ats='21') and (a_data_general.ats=a_data_gi.ats_in) and (a_data_general.d_in=a_data_gi.d_in)and (a_data_general.d_stativ=a_data_gi.d_stativ) and (a_data_general.device='3-ГИ') and (dt>='9.17.2002 9:00') and (dt<='9.17.2002 18:00') group by a_data_gi.ats_tip,a_data_gi.ats_out) , выполняется правильно и выдает результат: 3-ГИ(ВСС) 5 0 24 3 0 25 1 0 26 2 0 3-ГИ(ВСС) 0 3 24 0 5 29 0 2 Необходимо получить из этих данных такие: 3-ГИ(ВСС) 5 3 24 3 5 25 1 0 26 2 0 29 0 2 , т.е. суммировать данные по строчкам. Если взять запрос: select (case when a_data_gi.ats_tip='3-ГИ(ВУС)' then a_data_gi.ats_out else a_data_gi.ats_tip end),sum(R1),sum(R2) from a_data_gi, (select (case when a_data_gi.ats_tip='3-ГИ(ВУС)' then a_data_gi.ats_out else a_data_gi.ats_tip end)R23,(Count(a_data_general.device))R1, '0' R2 from a_data_general, a_data_gi where (a_data_general.ats='21') and (a_data_general.ats=a_data_gi.ats_in) and (a_data_general.d_in=a_data_gi.d_in)and (a_data_general.d_stativ=a_data_gi.d_stativ) and (a_data_general.device='3-ГИ') and (dt>='9.16.2002 9:00') and (dt<='9.16.2002 18:00') group by a_data_gi.ats_tip,a_data_gi.ats_out Union All select (case when a_data_gi.ats_tip='3-ГИ(ВУС)' then a_data_gi.ats_out else a_data_gi.ats_tip end)R23,'0'R1, (Count(a_data_general.device))R2 from a_data_general, a_data_gi where (a_data_general.ats='21') and (a_data_general.ats=a_data_gi.ats_in) and (a_data_general.d_in=a_data_gi.d_in)and (a_data_general.d_stativ=a_data_gi.d_stativ) and (a_data_general.device='3-ГИ') and (dt>='9.17.2002 9:00') and (dt<='9.17.2002 18:00') group by a_data_gi.ats_tip,a_data_gi.ats_out) Tab group by a_data_gi.ats_tip,a_data_gi.ats_out , выдает неправильный результат?? Где здесь в этом запросе ошибка? Как правильно написать данный запрос? Если можно на данном запросе. Структура таблицы a_data_gi: ats_in char(10) d_stativ char(10) d_in char(10) ats_out char(10) ats_tip char(10) Пример заполнения: 21 21 21 01 01 01 01 31 38 21 29 20 3-ГИ(ВСС) 3-ГИ(ВУС) 3-ГИ(ВУС) Структура таблицы a_data_general(из нее подсчитываются записи по device=3-ГИ) : ats varchar(50) dt datetime device varchar(10) uak_num smallint(2) memo varchar(1) R1 char(1) R2 char(1) .... R15 char(1) R16 char(1) d_stativ char(3) d_in char(3) status char(2) Пример заполнения: 21 9.17.2002 18:00 3-ГИ 1 а 2 2 .. 3 4 01 31 Ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2002, 12:12:02
|
|||
|---|---|---|---|
|
|||
Помогите, пожалуйста, составить SQL-запрос |
|||
|
#18+
Помогите, пожалуйста, составить SQL-запрос. Очень нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2002, 15:15:56
|
|||
|---|---|---|---|
|
|||
Помогите, пожалуйста, составить SQL-запрос |
|||
|
#18+
А может хранимую процедуру лучше сделать? Уж больно сложный запрос да и не мобильный он. (Вдруг устр-во добавится/исчезнет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.10.2002, 15:27:23
|
|||
|---|---|---|---|
Помогите, пожалуйста, составить SQL-запрос |
|||
|
#18+
Код: plaintext разве не проходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1819266]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 263ms |

| 0 / 0 |
