Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 27.09.2017
Сообщений: 27
1

Как использовать запрос, который возвращает больше одного значения

05.11.2018, 17:33. Показов 870. Ответов 1

Author24 — интернет-сервис помощи студентам
Всем привет, столкнулся с такой проблемой: имеем БД, в которой есть несколько таблиц, er-модель прикрепляю. В таблице GPU у меня есть атрибут с повторяющимися значениями (модели видеокарт) и названием самой видеокарты. В таблице GPUProduct тоже есть этот атрибут, но значения уникальны (одна модель встречается один раз) связь от GPU к GPUProduct многие-к-одному. Задаю такую команду
T-SQL
1
select * from GPUProduct where GPUModel = (select GPUModel from GPU where GPUModel = 'RX 550')
(показать значения фпс для тех видеокарт, модель которых RX 550).
Ошибка: Вложенный запрос вернул больше одного значения. Это запрещено, когда вложенный запрос следует после =, !=, <, <=, >, >= или используется в качестве выражения. Что делать, как исправить?
Вообще изначальный запрос был таков: select * from GPUProduct where GPUModel = (select GPUModel from gModel where VRAM > 2048) (вернуть фпс для моделей видеокарт, которые в таблице gModel имеют памяти больше, чем 2 гб).

https://thumb.ibb.co/nah0OL/erd.png
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2018, 17:33
Ответы с готовыми решениями:

Запрос Select T-sql - Вложенный запрос вернул больше одного значения
Нужно посчитать комиссию от сделки. DealShare(комиссия) - поле таблицы agents, supplies -...

Запрос вернул больше одного значения
Возник вопрос , когда заполняю свою табличку, то кричит на Вложенный запрос вернул больше...

Вложенный запрос вернул больше одного значения
Всем добрый день! Есть база данных туров на SQL. Есть хранимая процедура, которая вычисляет цену...

Вложенный запрос вернул больше одного значения Это запрещено, когда вложенный запрос следует после =, !=, <
Здравствуйте,проблема вот в чем,при добавление записи в таблицу,первая запись добавляется,а при...

1
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.11.2018, 19:36 2
Вместо равенства применить предикат IN
SQL
1
SELECT * FROM GPUProduct WHERE GPUModel IN (SELECT GPUModel FROM GPU WHERE GPUModel = 'RX 550')
Добавлено через 2 минуты
Но вообще говоря, в выражении в круглых скобках уже забито точное значение GPUModel. Но, как Вы дальше поясняете истинный вид запроса должен быть таким
SQL
1
SELECT * FROM GPUProduct WHERE GPUModel IN (SELECT GPUModel FROM gModel WHERE VRAM > 2048)
0
05.11.2018, 19:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2018, 19:36
Помогаю со студенческими работами здесь

Вложенный запрос вернул больше одного значения Это запрещено, когда вложенный запрос следует после =, !=, <, <
Здравствуйте,проблема вот в чем,при добавление записи в таблицу,первая запись добавляется,а при...

При условии having count(*) = 1 вложенный запрос вернул больше одного значения
Запрос выполняется с ошибкой update TFF_OBSCURE_PP set SUM_PP_ALL = (select TFF_PP.SUM_PP...

Ошибка при внесении записи в базу данных (вложенный запрос вернул больше одного значения)
Когда вношу новую запись, возникает ошибка: Вложенный запрос вернул больше одного значения. Это...

"Вложенный запрос вернул больше одного значения."Не получается удалить две похожих записи
создаю хранимую процедуру на удаление USE GO /****** Object: StoredProcedure . Script...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru