U sing the selected answer here,我试图制作一个MySQL查询,该查询选择列和设置值,但得到的是“每个派生表必须具有自己的别名”。我只有两个表:matrix_swfl_res和RLN分别定义为e和d。我想念什么?
UPDATE (SELECT e.MLSNumber, d.MLSNumber
FROM matrix_swfl_res e, RLN d
WHERE e.MLSNumber = d.MLSNumber)
SET e.RSLN = d.RSLN
最佳答案
如果您认为答案已链接,则在要更新表时必须进行联接
这里的mysql错误是因为
(SELECT e.MLSNumber, d.MLSNumber
FROM matrix_swfl_res e, RLN d
WHERE e.MLSNumber = d.MLSNumber)
在您编写它时,它被视为派生表,就像您要更新此派生表一样。
如果我了解您想要什么:
您想要使用先前完成的某些选择来更新表A,这是您需要做的:
UPDATE A
INNER JOIN (SELECT e.MLSNumber, d.RSLN
FROM matrix_swfl_res e
INNER JOIN RLN d ON e.MLSNumber = d.MLSNumber ) as Q
ON A.MLSNumber= Q.MLSNumber)
SET A.RSLN = Q.RSLN
我没有所有表格的详细信息,但我希望通过此示例可以使它更清晰