内连接嵌套在更新语句 SQL 中
Posted
技术标签:
【中文标题】内连接嵌套在更新语句 SQL 中【英文标题】:Inner Join Nested Inside Update Statement SQL 【发布时间】:2013-11-18 06:48:27 【问题描述】:我正在尝试编写一个在更新语句中执行内部联接的查询。
这是我正在处理的当前查询:
UPDATE
singulation1.`q096_cq33r08-ds01-n-testtable`
SET
visual = t2.visual,
inspection_status = t2.inspection_status,
inspector_name = t2.inspector_name
FROM
singulation1.`q096_cq33r08-ds01-n-testtable` t1
INNER JOIN
singulation1.`q014_bq31t05-dw30-x` t2
ON
(t1.print = t2.print AND t1.id3 = t2.id3);
mysql 的某些方面不喜欢 FROM 子句。
【问题讨论】:
【参考方案1】:对于更新,您在更新子句中指定联接
UPDATE
singulation1.`q096_cq33r08-ds01-n-testtable` AS t1
INNER JOIN singulation1.`q014_bq31t05-dw30-x` AS t2
ON t1.print = t2.print AND t1.id3 = t2.id3
SET
t1.visual = t2.visual
t1.inspection_status = t2.inspection_status,
t1.inspector_name = t2.inspector_name
【讨论】:
我不再收到任何错误,但结果显示 0 行受到影响。这告诉我有些地方不正确,因为 id3 和 print 列上的表之间存在 1:1 映射。 是print
还是id3
NULL?
@kformeck 如果你执行SELECT * FROM [the table/join definition from above]
,你会得到什么以上是关于内连接嵌套在更新语句 SQL 中的主要内容,如果未能解决你的问题,请参考以下文章