Таблица обновления кода SQL - PullRequest
4 голосов
/ 12 октября 2011

У меня есть две таблицы:

Master Table       Assets Table
-AssetNo-           -AssetNo-

AssetNo - это PK, и это внешний ключ для связи двух таблиц. Теперь я хотел бы обновить с помощью:

UPDATE Assets 
   SET status = 1
  FROM Assets, Master
 WHERE Assets.AssetNo = Master.AssetNo

Если я использую эту команду, все активы с одинаковым assetno автоматически обновятся до 1.

Как кодировать с определенным assetNo IE: WHERE 111(from Assets)=111(from Master)

Ответы [ 4 ]

4 голосов
/ 12 октября 2011

Если я правильно понимаю ваш вопрос, я думаю, вам просто нужно другое условие в предложении WHERE:

UPDATE Assets 
   SET status = 1
  FROM Assets, Master
 WHERE Assets.AssetNo = Master.AssetNo
   AND Assets.AssetNo = 111
1 голос
/ 12 октября 2011
UPDATE a
SET a.Status = 1
FROM Assets AS a
INNER JOIN Master AS m ON a.AssetNo = m.AssetNo
WHERE m.AssetNo = @value
1 голос
/ 12 октября 2011
UPDATE Assets SET status = 1
FROM Assets a JOIN Master m ON a.AssetNo = m.AssetNo
WHERE a.AssetNo = 999
1 голос
/ 12 октября 2011

Какой движок sql вы используете? Примерно так будет работать на сервере sql:

Update a
SET Status = 1
FROM Assets a
JOIN Master m on a.AssetNo = m.AssetNo
WHERE a.AssetNo  = 111
...