我有一个更新语句,它将从TableB更改tableA中的状态。此表中的数据如下:
Serial PersonId Date Department State Begintime Endtime
1 1 2012-01-01 50 1 08:00 11:00
2 1 2012-01-01 50 5 11:00 14:00
当我从tableB获得状态2时,我需要将两个记录的状态设置为:2但我希望每个状态只有一条记录。
结果应为:
Serial PersonId Date Department State Begintime Endtime
1 1 2012-01-01 50 2 08:00 14:00
反之亦然也是可能的:
TableA包含:
Serial PersonId Date Department State Begintime Endtime
1 1 2012-01-01 50 2 08:00 14:00
更新后我想:(这两条记录来自tableB)
Serial PersonId Date Department State Begintime Endtime
1 1 2012-01-01 50 1 08:00 10:00
2 1 2012-01-01 50 5 12:00 15:00
我也不知道是否需要使用更新声明进行更新 任何解决这个问题的想法?
我正在使用sql server 2005。
答案 0 :(得分:0)
INSERT INTO tableA a
SELECT * FROM tableB b
WHERE b.[State] NOT IN (
SELECT [State] FROM tableA
)
我假设你想要在表之间复制新记录。