我已经构建了这个SELECT查询,它返回了正确的结果:
SELECT CONCAT_WS(' ', n.contact_first_name, n.contact_last_name), n.contact_id, s.contact_id
FROM contact n
JOIN demographics s ON s.contact_id = n.contact_id
我得到一个表格,其中包含两个连接的名称和匹配的contact_id
。我的目的是将所有contact_first_name
和contact_last_name
写入列名demographics
下的demographics_name
表中。但是,我试图将我的SELECT语句“转换”为UPDATE,并且遇到了重复的列名称问题。这是我试图构建的查询:
UPDATE demographics d
INNER JOIN (SELECT n.contact_first_name, n.contact_last_name, n.contact_id, s.contact_id
FROM contact n
JOIN demographics s ON s.contact_id = n.contact_id
) c
ON c.contact_id = d.contact_id
SET d.demographics_name = CONCAT_WS(' ', c.contact_first_name, c.contact_last_name)
我无法发现我犯过的错误,我真的可以借助一套新的批判性眼睛来指出我在这里缺少的东西。
答案 0 :(得分:1)
这会起作用吗?
UPDATE demographics d
INNER JOIN contact c
ON c.contact_id = d.contact_id
SET d.demographics_name = CONCAT_WS(' ', c.contact_first_name, c.contact_last_name)