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

Откуда:
Сообщений: 353
declare @z table(k1 int,k2 int,k3 int)

insert into @z(k1,k2,k3) values
(1,1,1),(2,1,2),(3,1,3),(4,2,2),(5,2,3)

--это отрабатывает, получаем суммы по группе 
select distinct SUM(k3) from @z group by k2

--а здесь ругается
select count(*) from (select distinct SUM(k3) from @z group by k2)
--что я пропустил ?


--ошибка
Сообщение 102, уровень 15, состояние 1, строка 6
Неправильный синтаксис около конструкции ")".
ЗЫ пробовал и as zzz бесполезно :(
22 авг 16, 20:33    [19575464]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
iljy
Member

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

укажите алиас для таблицы и имя для столбца.

select count(*) from (select distinct SUM(k3) from @z group by k2) t(x)
22 авг 16, 21:09    [19575647]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
aleks2
Guest
select count(*) from (select distinct SUM(k3) from @z group by k2) as DerivedTableName
22 авг 16, 21:09    [19575649]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
Mixon
Member

Откуда:
Сообщений: 353
iljy
Mixon,

укажите алиас для таблицы и имя для столбца.

select count(*) from (select distinct SUM(k3) from @z group by k2) t(x)


Спасибо не думал что надо именно t(x), а не t, подскажите почему именно так?
22 авг 16, 21:32    [19575756]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Mixon
iljy
Mixon,

укажите алиас для таблицы и имя для столбца.

select count(*) from (select distinct SUM(k3) from @z group by k2) t(x)



Спасибо не думал что надо именно t(x), а не t, подскажите почему именно так?
Потому что надо как-то именовать поля в подзапросах.
22 авг 16, 21:33    [19575764]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
Mixon
Member

Откуда:
Сообщений: 353
Гавриленко Сергей Алексеевич,

только что проверил
select count(*) from (select distinct SUM(k3)as x from @z group by k2) t
и так тоже работает
22 авг 16, 21:47    [19575822]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по запросу  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31980
Mixon
Спасибо не думал что надо именно t(x), а не t, подскажите почему именно так?
Так у вас и "t" не указано.
Это просто 2 формы именования столбцов в подзапросе.
Либо ... as t(x), либо SUM() as x ... as t
23 авг 16, 10:02    [19577047]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить