挑战:
跟踪表包含“QuestionID”列中具有 NULL 值的行。 幸运的是,同一个表中的相关“AnswerID”列包含在“Answers”表中查找正确的“QuestionID”的关键。目标是用“Answers”表中的相应值填充这些 NULL“QuestionID”条目。
解决方案:
这是完成此更新的 SQL 查询:
<code class="language-sql">UPDATE QuestionTrackings q INNER JOIN QuestionAnswers a ON q.AnswerID = a.AnswerID SET q.QuestionID = a.QuestionID WHERE q.QuestionID IS NULL;</code>
说明:
此查询使用 INNER JOIN
连接 QuestionTrackings
(别名为 q
)和 QuestionAnswers
(别名为 a
)表。连接条件 q.AnswerID = a.AnswerID
确保仅考虑匹配的行(基于 AnswerID
)。 SET
子句将 a.QuestionID
值分配给 q.QuestionID
每行的 q.QuestionID
,其中
重要注意事项:
预览更新:UPDATE
在运行 SELECT
语句之前,执行 JOIN
查询(使用相同的 WHERE
和
数据完整性:AnswerID
确认 QuestionTrackings
表中的每个 QuestionID
唯一映射到 QuestionAnswers
表中的单个 AnswerID
。 重复的
以上是如何使用相关 AnswerID 更新跟踪表中的 NULL QuestionID?的详细内容。更多信息请关注PHP中文网其他相关文章!