2011-07-29 13 views
6

Mam tabela, w której chcę zaktualizować wszystkie wiersze o identyfikatorze, który istnieje w wyniku wyboru.SQL Server - tabela UPDATE, gdzie ID jest w WYBIERZ?

Moja pseudo-kod:

UPDATE mytable as t 
    SET t.status = 'PM' 
WHERE t.ID EXISTS IN (select ID from ...) 

udało mi się zrobić select, teraz chcę użyć wynik select aby zaktualizować tabelę.

Odpowiedz

15

Jeśli usuniesz istniejący, masz ważne zapytanie z tego, co mogę powiedzieć.

UPDATE mytable 
    SET status = 'PM' 
WHERE id IN (select ID from ...) 

Działa dla mnie w MySql 5.5, nie wiem, której bazy danych używasz.

+0

dzięki za odpowiedź, używam MSSQL. Dowolny pomysł? – dpp

+1

Czy próbowałeś już powyższego zapytania? Powinien być taki sam AFAIK –

+0

OK, stworzę obojętny stolik ... – dpp

1

Nie można użyć podstawienia w instrukcji UPDATE. Oryginalne zapytanie powinno być dobre, gdy pominiesz część "as t" i obie "t".