Вот мой базовый SQL-запрос в SQL Server 2008:
SELECT userID
FROM coreUsers
INNER JOIN pluginSales ON coreUser.userID = pluginSales.userID
WHERE (coreUser.CurrentYear = '2014')
AND (pluginSales.PaidShipping = 'Yes')
OR (coreUser.IsContract = 'Yes')
Проверено еще раз 19 декабря 2014 г., результат 61.
Мне нужно иметь возможность обновить столбец таблицы pluginSales
ShipppingDate
для всех записей, полученных в результате приведенного выше оператора.
coreUser.userID
— мой уникальный ключ, который автоматически увеличивается.
pluginSales
имеет столбец ShippingDate
, который является просто стандартным varchar
, который мне нужно обновить до '12/16/2014'
, если запись была установлена на 2014 (coreUser.CurrentYear
) и они оплачивают доставку (pluginSales.PaidShipping
) ИЛИ если они являются контрактными клиентами (coreUser.IsContract
)
РЕДАКТИРОВАТЬ №1
Я попробовал следующее...
UPDATE pluginSales
SET ShippingDate = ''
FROM coreUsers AS cu INNER JOIN
pluginSales AS pis ON cu.userID = pis.userID CROSS JOIN
pluginSales
WHERE (cu.CurrentYear = '2014') AND (pis.PaidShipping = 'Yes' OR pis.IsContract = 'Yes')
Проверено еще раз 19 декабря 2014 года с измененными 554 записями (вся моя база данных pluginSales)
Это затронуло ВСЕ мои строки, а не только определенные. Пожалуйста, порекомендуйте.