512: Подзапрос вернул более 1 значения
SQL ServerЧто это значит?
Подзапрос, использованный в контексте, ожидающем одно значение (=, <, >, сравнение или присваивание), вернул больше одной строки. SQL Server ожидал одно скалярное значение, но получил несколько.
Почему возникает?
Подзапрос, который предположительно возвращает одно значение для сравнения, возвращает несколько строк, неуникальное условие сопоставления, отсутствующий фильтр или неверно построенный коррелированный запрос.
Как исправить
Сократите подзапрос до одной строки (например, TOP 1, MAX/MIN или подходящий GROUP BY). Если ожидается несколько значений, используйте IN или EXISTS вместо =. Перепишите с JOIN. Выясните, почему подзапрос возвращает несколько строк, и исправьте условия фильтра/ключа.
Ещё по этой СУБД
- 245Ошибка преобразования значения в тип данных
- 515Невозможно вставить значение NULL в столбец
- 8115Ошибка арифметического переполнения при преобразовании выражения в тип данных
- 207Недопустимое имя столбца
- 156Неверный синтаксис рядом с ключевым словом
- 2812Не удалось найти хранимую процедуру
- 8623Обработчику запросов не хватило внутренних ресурсов, и он не смог построить план запроса