Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
Добрый день!
Запрос в 2 таблицы с подзапросом
При выводу выходит ошибка
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression

Вот сам запрос

select 
(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'bizservice') Usluga,

(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn') Sostav,

D.PROVIDER, D.SUPPORT_GROUPS

from dbo.DEVICE D
INNER JOIN COMMUNICATION C ON C.LOGICAL_NAME = D.LOGICAL_NAME
4 дек 17, 09:28    [21003122]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
Результат должен выглядеть так

К сообщению приложен файл. Размер - 9Kb
4 дек 17, 09:30    [21003125]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
1 - таблица DEVICE
2 - таблица COMMUNICATION

К сообщению приложен файл. Размер - 17Kb
4 дек 17, 09:31    [21003133]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Marin_1a,

вам понятно сообщение об ошибке?
4 дек 17, 09:33    [21003136]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Marin_1a
Member

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

при возвращении подзапросом более 1 значения
4 дек 17, 09:35    [21003141]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Marin_1a,

я отсюда вижу
select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn'
на картинке 3 значения
4 дек 17, 09:39    [21003148]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Marin_1a
Member

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

должно быть как на картинке

этот запрос вывести это мне не дает
select 
(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'bizservice') Usluga,

(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn') Sostav,

D.PROVIDER, D.SUPPORT_GROUPS

from dbo.DEVICE D
INNER JOIN COMMUNICATION C ON C.LOGICAL_NAME = D.LOGICAL_NAME


К сообщению приложен файл. Размер - 9Kb
4 дек 17, 14:33    [21004437]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Marin_1a
быть как на картинке

этот запрос вывести это мне не дает
Как вывести в одной строке в одной колонке ТРИ результата подзапроса, показанного TaPaKом??
Добейтесь, чтобы результат был один, или используйте JOIN/APPLY вместо подзапроса.

P.S. Может быть, скоро посыпятся вопросы типа "а как мне конкатенировать строки из подзапроса?"
4 дек 17, 14:38    [21004457]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Marin_1a,
перепешите без подзапросов, судя по содержанию они вам не нужны
4 дек 17, 14:39    [21004462]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
iap
Marin_1a
быть как на картинке

этот запрос вывести это мне не дает
Как вывести в одной строке в одной колонке ТРИ результата подзапроса, показанного TaPaKом??
Добейтесь, чтобы результат был один, или используйте JOIN/APPLY вместо подзапроса.

P.S. Может быть, скоро посыпятся вопросы типа "а как мне конкатенировать строки из подзапроса?"
"вместо подзапроса в SELECTе", хотел я сказать
4 дек 17, 14:39    [21004463]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
А при виде на экране табличек в jpg хочется убивать.
4 дек 17, 14:39    [21004464]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
SELECT
  d.[ci_name],
  dc.[ci_name],
  d.[provider],
  dc.[support_groups]
FROM
  dbo.[device] d
  LEFT JOIN dbo.[communication] c ON (
        c.[logical_name] = d.[logical_name] )
  LEFT JOIN dbo.[device] dc ON (
        dc.[logical_name] = c.[relationship_name] )
WHERE
  d.[type] = 'bizservice'
4 дек 17, 14:45    [21004489]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Kir15
Member

Откуда:
Сообщений: 1
(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn') Sostav

равно на Like замените.
4 дек 17, 14:50    [21004509]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
Kir15
(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn') Sostav
равно на Like замените.

Кыш!
4 дек 17, 14:59    [21004538]     Ответить | Цитировать Сообщить модератору
 Re: ошибка Subquery returned more than 1 value. This is not permitted when the subquery follow  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30700
Руслан Дамирович
Kir15
(select CI_NAME
from dbo.DEVICE D
WHERE [TYPE] = 'oprtn') Sostav
равно на Like замените.

Кыш!
А чего, у Kir15 в одном месте подзапрос был с Like, и такой ошибки не было.
4 дек 17, 15:06    [21004565]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить