Как вставить результат в нужную строку? SQL Сервер - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужен результат, который я должен вставить в правый ряд.

DECLARE @DiscPrice float;
SET @DiscPrice = (SELECT Prod.priceProd - Prod.priceProd / 100 * Prod.disc 
                  FROM Prod 
                  WHERE id_prod = 1);

UPDATE Prod 
SET priceDisc = @DiscPrice 
WHERE id_prod = 1;

SELECT * FROM Prod;

То есть вместо WHERE id_prod = 1 было что-то, что вставило желаемый результат во все строки.

Я не уверен, что дал понять, но надеюсь, что вы поймете.

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Я думаю, что вы хотите

UPDATE Prod 
SET priceDisc = ((priceProd - priceProd) / 100) * disc
WHERE id_prod = 1;

Нет необходимости использовать переменную или запрос для присвоения ей значения.

0 голосов
/ 10 апреля 2020

Вы можете напрямую обновить запрос, как показано ниже

UPDATE Prod SET priceDisc =((priceProd - priceProd) / 100 * disc)

Это обновит данные во всех строках

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...