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

Откуда: Кокосовые острова
Сообщений: 343
Здравствуйте! Помогите пожалуйста врубить COUNT(), в следующем запросе чтобы работал вот так => COUNT(p3.Id).
Не магу его с Select поставить (Select p1.NameLoc, a.Street, p2.NameLoc, ca.Slave, ca.Master, p3.Alias, COUNT( p3.Id) from Persons p1) - ошибка:
Select p1.NameLoc, a.Street, p2.NameLoc, ca.Slave, ca.Master, p3.Alias, Count(p3.Id) from Persons p1



Select p1.NameLoc, a.Street, p2.NameLoc, ca.Slave, ca.Master, p3.Alias, p3.Id from Persons p1
INNER JOIN Addresses    a    ON  p1.Id       = a.Person
INNER JOIN Persons      p2   ON  a.CityX     = p2.Id
INNER JOIN ContrAgents  ca   ON  p2.Id       = ca.Slave
INNER JOIN Persons      p3   ON  ca.Master   = p3.Id
where p1.Type >9 and p1.Type<16 
28 мар 12, 15:40    [12328080]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
yardie
Не магу его с Select поставить- ошибка:

А прочитать сообщение об ошибке пробовали ?
28 мар 12, 15:41    [12328087]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Либо group by в конец запроса, либо count ( p3.Id ) over ().
28 мар 12, 15:42    [12328088]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
вот такая ошибка))
Column 'Persons.NameLoc' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
28 мар 12, 15:42    [12328089]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
yardie
вот такая ошибка))
Column 'Persons.NameLoc' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Ну, все английским по-белому написано.
28 мар 12, 15:43    [12328091]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
yardie
вот такая ошибка))
Column 'Persons.NameLoc' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

И что именно вам непонятно в этом сообщении ?
28 мар 12, 15:43    [12328092]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
Гавриленко Сергей Алексеевич
Либо group by в конец запроса, либо count ( p3.Id ) over ().

group by - так тоже не работает
а с ( p3.Id ) over () заработало, но пишет общее значение, а нужно для каждой строки своё
28 мар 12, 15:44    [12328114]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
yardie
group by - так тоже не работает
Откройте уже хелп, прочитайте синтаксис и посмотрите примеры.
28 мар 12, 15:45    [12328126]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
yardie,
в группировку добавьте остальные поля
28 мар 12, 15:46    [12328128]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
yardie
group by - так тоже не работает

Потому что group by - это часть синтаксиса
28 мар 12, 15:47    [12328138]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
Glory,
Говорит что колонка "Persons.NameLoc" недопустима в списке выборки, потому как не содержится ни в статистической функции или "GROUP BY"

"GROUP BY" как я уже писал не работает((
28 мар 12, 15:47    [12328149]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
yardie,
т.е.
group by p1.NameLoc, a.Street, p2.NameLoc, ca.Slave, ca.Master, p3.Alias
28 мар 12, 15:48    [12328160]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
yardie
"GROUP BY" как я уже писал не работает((

Вы хоть что нибудь про синтаксис GROUP BY прочитали ?
28 мар 12, 15:49    [12328161]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
Glory,

Да уже прочитал))) всё получилось))
28 мар 12, 15:51    [12328184]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
yardie,
а вообще хороший анекдот: "Count(*) не работает "))))
28 мар 12, 15:53    [12328208]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
ZVER-10,

ну это я не знал как придумать название темы :) За то вон сколько внимая привлек, что моментально помогли, СПАСИБО))))))
28 мар 12, 15:54    [12328217]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
yardie
ну это я не знал как придумать название темы :)

"Не умею писать запросы" лучше всего подходит
28 мар 12, 15:55    [12328223]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
yardie
Member

Откуда: Кокосовые острова
Сообщений: 343
Glory,
ну уж как Вам угодно ))))
28 мар 12, 15:56    [12328235]     Ответить | Цитировать Сообщить модератору
 Re: Count(*) не работает  [new]
ZVER-10
Member

Откуда:
Сообщений: 506
Glory
yardie
ну это я не знал как придумать название темы :)

"Не умею писать запросы" лучше всего подходит

ну вот этот анекдот лучше предыдущего)))))))))))))
28 мар 12, 18:37    [12329482]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить