Я работаю с двумя таблицами, первая таблица выглядит как part_order
ONum PNum NumOrdered QuotPrice
2236 BZ66 1
2236 AZ52 10 29.90
2237 CA14 3
2240 CB03 1
и вторая таблица является частью и выглядит так
PNum Description OnHand Warehouse UnitPrice
AZ52 Skates 20 2 36.95
BZ66 Washer 5 1 465.50
CA14 Skillet 13 1 28.99
CB03 Bike 44 3 195.50
Я пытаюсь обновить столбец quotprice значениями unitprice, если он равен нулю. Это означает, что 29.90 должен остаться, но остальные должны быть обновлены.
Я ввожу:
update part_order
set quotprice = (select part.unitprice
from part
where part.pnum = part_order.pnum
and quotprice is null);
И это работает помимо переключения значений. Мои 29,90 превращаются в нуль, а остальные 3 значения обновляются. Если я наберу его снова, остальные 3 значения вернутся к нулю, а второе значение будет заполнено 36,95. Мне интересно, почему он меняет значения, а не проверяет только нулевые значения.