#sql #sql-server #tsql
#sql #sql-сервер #tsql
Вопрос:
У меня есть результирующий набор из запроса, который возвращает столбцы кода plu и штрих-кода с некоторыми условиями. У меня есть таблица с одним столбцом, в которой я генерирую некоторые значения 100001
100002
, например, и т.д.
Столбец штрих-кода для целевой таблицы not null является пустой строкой. Исходная и целевая таблицы у них нет ничего общего, чтобы объединить их.
Это то, что я получаю.
Сообщение 512, уровень 16, состояние 1, строка 22
Подзапрос вернул более 1 значения. Это не разрешено, когда подзапрос следует =, !=, <, <= , >, >= или когда подзапрос используется как выражение.
Это мой запрос.
UPDATE ARTICULOSLIN SET CODBARRAS = (SELECT DISTINCT BRC FROM BRC) FROM ARTICULOSLIN ARL
LEFT JOIN ARTICULOS AR ON (ARL.CODARTICULO = AR.CODARTICULO)
WHERE AR.PORPESO = N'F' AND AR.DESCATALOGADO = N'F' AND LEN(ARL.CODBARRAS) != 13
Комментарии:
1. Ошибка сообщает вам о проблеме (очень явно); что насчет ошибки, которую вы здесь не понимаете?
2. Какое соединение вы хотите от таблицы
BRC
к таблицеARTICULOSLIN
3. Пожалуйста, прочтите это для получения нескольких советов по улучшению вашего вопроса. Что не так, ясно, то, что вы пытаетесь сделать, не так.
Ответ №1:
Сообщение об ошибке означает, что вы не можете присвоить несколько значений одному атрибуту, я полагаю, что ваш подзапрос возвращает все значения из таблицы BRC.
Комментарии:
1. Я это понимаю. Он возвращает все значения таблицы BRC. Что мне делать, я спрашиваю. Я попытался выполнить обновление с помощью слияния и курсора. Любое предложение….