Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом..  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Имеется запрос


select NameDest, left(finCalledPartyNumber,4) Code, count(*) Cnt, sum(duration)/60 Minutes
from dtv
where dateTimeOrigination
between DATEDIFF ( s , convert(datetime, '1970-01-01 02:00:00', 120) , convert(datetime, getdate()-2, 120) )
and
DATEDIFF ( s , convert(datetime, '1970-01-01 02:00:00', 120) , convert(datetime, getdate(), 120))
and
finCalledPartyNumber like'0%'
and
originalCalledPartyNumberPart like 'Head%'
or
dateTimeOrigination between DATEDIFF ( s , convert(datetime, '1970-01-01 02:00:00', 120) , convert(datetime, getdate()-2, 120) )
and
DATEDIFF ( s , convert(datetime, '1970-01-01 02:00:00',120) , convert(datetime, getdate(), 120))
and
finCalledPartyNumber like'8%'
and
originalCalledPartyNumberPart like 'Head%'
group by NameDest, left(finCalledPartyNumber,4)
order by Minutes,left(finCalledPartyNumber,4),NameDest

Вопрос в следующем: как можно в запросе сгруппировать все строки начинающиеся на 8 в первые 4 цифры, а все строки начинающиеся на 0 в 3 цифры. Как вы видите, в запросе выборка идет по finCalledPartyNumber like '8%' или '0%', но результат получается следующим:

8012 8023 8045
0127 0236 0459

То есть в результате у меня группируется намного больше строк с 0
Должно быть что-то вида 8012 8023 8045 012 023 045
Пробовал union - не помог. Кто наведет на путь истинный , буду очень благодарен!
Спасибо заранее
19 окт 09, 12:39    [7804508]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
Naf
Member

Откуда: Москва
Сообщений: 2695
case
when finCalledPartyNumber like '8%'
then left(finCalledPartyNumber,4)
when finCalledPartyNumber like '0%'
then left(finCalledPartyNumber,3)
end Code
С уважением, Naf
19 окт 09, 12:52    [7804648]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Naf,

Спасибо!

Помогло.
Еще простой вопрос,как теперь алиас добавить вида select column as MYCOLUMN для варианта с caseом
19 окт 09, 15:44    [7806226]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
Naf
Member

Откуда: Москва
Сообщений: 2695
вроде с алиасом было написано, ну ладно:
case
when finCalledPartyNumber like '8%'
then left(finCalledPartyNumber,4)
when finCalledPartyNumber like '0%'
then left(finCalledPartyNumber,3)
end AS Code
С уважением, Naf
19 окт 09, 15:46    [7806236]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Naf,

Server: Msg 156, Level 15, State 1, Line 8
Incorrect syntax near the keyword 'as'.
19 окт 09, 16:41    [7806840]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
Naf
Member

Откуда: Москва
Сообщений: 2695
gjkmpjdfntkm
Naf, Server: Msg 156, Level 15, State 1, Line 8 Incorrect syntax near the keyword 'as'.
а если as убрать? ))
Модератор: Тема перенесена из форума "Проектирование БД".


Сообщение было отредактировано: 19 окт 09, 17:18
19 окт 09, 17:04    [7807071]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
gjkmpjdfntkm
Member

Откуда:
Сообщений: 414
Naf,

Server: Msg 170, Level 15, State 1, Line 8
Line 8: Incorrect syntax near 'code'.
19 окт 09, 18:50    [7807891]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
gjkmpjdfntkm
Naf,

Server: Msg 170, Level 15, State 1, Line 8
Line 8: Incorrect syntax near 'code'.
Показывайте что вы там пишите.
20 окт 09, 06:34    [7809008]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом..  [new]
aleks2
Guest
select ...
where
...
AND
finCalledPartyNumber like '0%'
group by NameDest, left(finCalledPartyNumber,3) 
UNION ALL
select ...
where
...
AND
finCalledPartyNumber like '8%'
group by NameDest, left(finCalledPartyNumber,4) 
20 окт 09, 06:43    [7809013]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить