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

Откуда: Санкт-Петербург
Сообщений: 57
Товарищи, есть квест. Как сгруппировать записи конкатенации строк. Примерно должно получиться вот так

GROUP BY [585$Location].Code+' ('+[585$Location].[Classified Code]+')' .... Но это не работает. Как правильно?
22 авг 13, 17:41    [14743433]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat777
Но это не работает. Как правильно?

Вот так - https://www.sql.ru/forum/127456/rekomendacii-po-oformleniu-soobshheniy-v-forume п.4 и п.6
22 авг 13, 17:43    [14743442]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Glory, ценно.

Microsoft SQL Server Standard Edition (64-bit)
Ошибки нет, но не схлопываются строки.
22 авг 13, 17:47    [14743459]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat777
Ошибки нет, но не схлопываются строки.

Очень информативно.
Начните тогда с описание вашей терминалогии
"Схлопывание строки" - это ...
22 авг 13, 17:48    [14743469]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
o-o
Guest
MedBrat777
Ошибки нет, но не схлопываются строки.


а у меня схлопываются:
declare @t table (col1 varchar(100), col2 varchar(100), col3 int);

insert into @t (col1, col2, col3)
select 'aaa', 'bbb', 1 union all
select 'abab', 'abab', 2 union all
select 'aa', 'abbb', 3;

select col1 + col2, SUM(col3)
from @t
group by col1 + col2;

---------------------------
(No column name)	(No column name)
aaabbb	4
abababab	2
22 авг 13, 17:50    [14743478]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
не "схлопнется", если есть NULL
22 авг 13, 17:52    [14743493]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
o-o, круть, так у меня тоже...видимо он в контексте GROUP BY не может понять что я от него хочу...
22 авг 13, 17:54    [14743503]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
MedBrat777
Товарищи, есть квест. Как сгруппировать записи конкатенации строк. Примерно должно получиться вот так

GROUP BY [585$Location].Code+' ('+[585$Location].[Classified Code]+')' .... Но это не работает. Как правильно?
Вопрос: зачем в GROUP BY указывать символьные литералы???
GROUP BY [585$Location].Code, [585$Location].[Classified Code]
22 авг 13, 17:54    [14743504]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat777
видимо он в контексте GROUP BY не может понять что я от него хочу...

Наверное, это вообще понимаете только вы во всем мире. Вы - особенный.
22 авг 13, 17:56    [14743514]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Cygapb-007, ок, даже если не указываю не канает... ((
22 авг 13, 17:57    [14743524]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Glory, обычно те, кто знаю с 1 поста помогают решить проблему :) От Вас я слышу только едкие подколки и ссылки на FAQ.
22 авг 13, 17:59    [14743535]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
o-o
Guest
Cygapb-007
Вопрос: зачем в GROUP BY указывать символьные литералы???
GROUP BY [585$Location].Code, [585$Location].[Classified Code]


вот затем, что если группировать, как Вы пишете, то в моем примере 3 строки на выходе будет.
а типа надо 2.
потому как в общем случае разбить одну строку на две можно кучей способов,
разносим эти группировки букв по колонкам,
получаем уйму строк.
а сложимши обратно будет все та же строка, а по ней ТС и хочет группировать :)
22 авг 13, 18:00    [14743543]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat777
От Вас я слышу только едкие подколки и ссылки на FAQ.

Если вы сейчас же не выполните п.4 и п.6 из Рекомендаций, то получите постоянный бан
Понятно ?
22 авг 13, 18:03    [14743561]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
o-o
Guest
...а вот если скобки туда лепить, то тогда великий смысл "схлопывания" теряется,
и можно группировать по Cygapb-овски, перечислив поля через зпт
и вообще, в чем проблема-то?

declare @t table (col1 varchar(100), col2 varchar(100), col3 int);

insert into @t (col1, col2, col3)
select 'aaa', 'bbb', 1 union all
select 'abab', 'abab', 2 union all
select 'aa', 'abbb', 3;

select col1 + '(' + col2, SUM(col3)
from @t
group by col1 + '(' + col2;

--------------------------------
(No column name)	(No column name)
aa(abbb	3
aaa(bbb	1
abab(abab	2
22 авг 13, 18:04    [14743570]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Glory,

я же выполнил?
22 авг 13, 18:07    [14743589]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat777
я же выполнил?

Прощай, дорогой Брат
22 авг 13, 18:08    [14743592]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
o-o
Guest
ну вот, и так август, скучище
22 авг 13, 18:10    [14743605]     Ответить | Цитировать Сообщить модератору
 Re: Группировка суммы полей  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
MedBrat777,
вот так например
select colsum.val, SUM(col3)
from @t
cross apply(select col1+col2) colsum(val)
group by colsum.val;
23 авг 13, 09:39    [14745435]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить