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

Откуда:
Сообщений: 1
Добрый день!

Подскажите где ошибка.


select v.name, v.id,
(select a.date, a.Qtty from dbo.Payments a where a.type = v.id)
from dbo.PaymentTypes v
where v.id=3



Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
29 авг 14, 16:50    [16514022]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка в запросе  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
в подзапрос (select a.date, a.Qtty from dbo.Payments a where a.type = v.id)
нужно добавить что-то вроде top1,max() и т.д
т.к он возвращает более 1 значения для одной строки основного запроса.
29 авг 14, 16:52    [16514039]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка в запросе  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scout1210
Подскажите где ошибка.

Вы в одно поле результата хотите запихнуть набор записей.
29 авг 14, 16:52    [16514040]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка в запросе  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
Scout1210
Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.


> the subquery
по русски "подзапрос". это вот это вот:
(select a.date, a.Qtty from dbo.Payments a where a.type = v.id)

> in the select list
то есть вот здесь:
select a.date, a.Qtty

> Only one expression can be specified
а у вас их 2: a.date и a.Qtty
29 авг 14, 17:00    [16514086]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка в запросе  [new]
_human
Member

Откуда:
Сообщений: 568
select v.name, v.id
, SubQ.date, SubQ.Qtty  
from dbo.PaymentTypes v
    join (select a.date, a.Qtty from dbo.Payments a) as SubQ on a.type = v.id 
where v.id=3
29 авг 14, 18:26    [16514516]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка в запросе  [new]
_human
Member

Откуда:
Сообщений: 568
select v.name, v.id
, SubQ.date, SubQ.Qtty  
from dbo.PaymentTypes v
    join (select a.* from dbo.Payments a) as SubQ on SubQ.type = v.id 
where v.id=3
29 авг 14, 18:27    [16514519]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить