"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como atualizar uma coluna em uma tabela usando valores de uma tabela relacionada?

Como atualizar uma coluna em uma tabela usando valores de uma tabela relacionada?

Publicado em 2025-01-10
Navegar:901

How to Update a Column in One Table Using Values from a Related Table?

Atualizar colunas com valores de tabelas relacionadas

Este artigo explora como atualizar uma coluna em uma tabela (QuestionTrackings) cujos valores vêm de uma tabela relacionada (QuestionAnswers) com base em uma condição específica (QuestionID é NULL). Podemos conseguir isso usando a instrução UPDATE combinada com INNER JOIN.

Consulta SQL:

UPDATE QuestionTrackings q
INNER JOIN QuestionAnswers a
ON q.AnswerID = a.AnswerID
SET q.QuestionID = a.QuestionID
WHERE q.QuestionID IS NULL
-- 可在此处添加其他条件

ilustrar:

  • Use INNER JOIN para estabelecer uma junção entre duas tabelas com base na coluna comum AnswerID.
  • Condição q.QuestionID IS NULL Garante que as atualizações afetem apenas as linhas na tabela QuestionTrackings onde QuestionID é NULL.
  • A cláusula
  • SET atualiza a coluna QuestionID na tabela QuestionTrackings (q.QuestionID) com o QuestionID correspondente da tabela QuestionAnswers (a.QuestionID).

Observação:

Antes de executar uma consulta UPDATE, é recomendável visualizar os dados afetados. Para fazer isso, você pode modificar a consulta para incluir o seguinte:

SELECT *
FROM QuestionTrackings q
INNER JOIN QuestionAnswers a
ON q.AnswerID = a.AnswerID
WHERE q.QuestionID IS NULL
-- 可在此处添加其他条件

Isso exibirá as linhas que serão atualizadas e confirmará que cada AnswerID possui apenas um QuestionID associado para evitar inconsistências de dados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3