我在同一个数据库中有两个非常相似的表。我想从表格p992_cq31n06-cm16-x
中获取整个“视觉”列,并将其放入表格p992_cq31n06-cu67-x
的“视觉”列中,其中列'print'和'id3'匹配。
以下是我要运行的查询:
UPDATE `p992_cq31n06-cu67-x`
SET visual = (
SELECT visual
FROM `p992_cq31n06-cm16-x`
WHERE
`p992_cq31n06-cu67-x`.print = `p992_cq31n06-cm16-x`.print
AND
`p992_cq31n06-cu67-x`.id3 = `p992_cq31n06-cm16-x`.id3);
这会按照我想要的方式运作吗?
答案 0 :(得分:0)
是的,您的查询将以您希望的方式运行。
您也可以使用join
:
UPDATE `p992_cq31n06-cu67-x` cu67 join
`p992_cq31n06-cm16-x`cu16
on cu67.print = cu16.print and cu67.id3 = cu16.id3
SET cu67.visual = cu16.visual;
如果您想设置多个列,join
特别有利。
答案 1 :(得分:0)
使用联接:
update p992_cq31n06-cu67-x a
inner join p992_cq31n06-cm16-x b on a.print = b.print and a.id3 = b.id3
set a.visual = b.visual
对于MSSQL(这是我想念的问题!)
update a
set visual = b.visual
from
p992_cq31n06-cu67-x a
inner join p992_cq31n06-cm16-x b on a.print = b.print and a.id3 = b.id3