2

这个答案接近我需要的,但我的情况略有不同。我有一个如下所示的 SQL 表。

+------+----------+-----------+
|  aid |  afname  |  alname   |
+------+----------+-----------+
|  01  |  John    |  Doe      |
|  02  |  Stephen |  Williams |
|  03  |  Jane    |  Doe      |
|  04  |  Peter   |  Brown    |
|  05  |          |           |
+------+----------+-----------+

现在我只需要从具有02afname的行中克隆/复制andalname字段并将其插入到具有05的行中。 aidaid

这是我尝试过的查询,但它引发了语法错误。

INSERT INTO table1(afname, alname) 
WHERE aid = '05'
SELECT afname, alname
FROM table1
WHERE aid = '02'

谁能告诉我一种方法来实现这一点?

非常感谢。

4

1 回答 1

4

如果您没有aid= '05' 的行:

INSERT INTO table1(aid,afname, alname)
SELECT '05', afname, alname
FROM table1
WHERE aid = '02'

如果你有一行aid= '05' 并且你想更新它:

update t2
set t2.afname = t1.afname, t2.alname = t1.alname
from table1 t1 join table1 t2 on t1.aid = '02' and t2.aid = '05'
于 2012-11-14T04:39:17.830 回答