Обновление запроса в sqlserver 2005 - PullRequest
0 голосов
/ 16 июля 2011

мне нужно написать запрос на обновление, и я не получаю синтаксис для перемещения данных из таблицы emp1 в emp2, где city = 'blore'

table name -->Emp1
empID name  City 
1     aaa    chennai
2     xyz    blore
3     asds   chennai
4     vvv   blore
5     aaa   chennai
6     yyy   blore

table name -->Emp2
empID name  
1     aaa    
2     xyz    
3     asds   
4     vvv   
5     aaa   
6     yyy   

Ответы [ 2 ]

0 голосов
/ 16 июля 2011

Фактический вопрос и желаемые результаты не очень ясны.Я сделаю предположение:

UPDATE Emp2 
SET Emp2.name = Emp1.name
FROM Emp1
INNER JOIN Emp2
ON Emp1.empID = Emp2.empID
WHERE Emp1.City = 'blore';

Вы можете рассмотреть возможность добавления дополнительного предложения WHERE, чтобы ограничить фактическое обновление, но вы не указали, можно ли имя обнуляться в любой таблице.Так что это может быть ...

AND Emp1.name <> Emp2.name

... или это может быть ...

AND COALESCE(Emp1.name, 'some not possible natural value') 
 <> COALESCE(Emp2.name, 'some not possible natural value')

... или вам может потребоваться только COALESCE на одной стороне.

0 голосов
/ 16 июля 2011
INSERT INTO Emp2 (Name)
       SELECT Name FROM Emp1 WHERE City = 'blore'

DELETE FROM Emp1 WHERE City = 'blore'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...