"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 unir com eficiência a mesma tabela várias vezes em colunas diferentes para recuperação de informações do usuário?

Como unir com eficiência a mesma tabela várias vezes em colunas diferentes para recuperação de informações do usuário?

Publicado em 2024-11-25
Navegar:304

How to Efficiently Join the Same Table Multiple Times on Different Columns for User Information Retrieval?

Juntando a mesma tabela duas vezes em colunas diferentes para recuperação versátil de informações do usuário

Esta consulta tem como objetivo recuperar nomes de usuários para as colunas open_by e closed_by na tabela de reclamações, onde os usuários são armazenados na tabela de usuários. O desafio está em unir a tabela do usuário várias vezes usando colunas diferentes.

Para realizar esta tarefa, empregamos uma operação LEFT JOIN para cada instância da tabela do usuário, apelidando as tabelas unidas como A e B para maior clareza. A consulta ocorre da seguinte forma:

SELECT 
     complaint.complaint_text, 
     A.username, 
     B.username
FROM 
     complaint 
     LEFT JOIN user A ON A.user_id=complaint.opened_by 
     LEFT JOIN user B ON B.user_id=complaint.closed_by

Nesta consulta, começamos selecionando a colunaplain_text da tabela de reclamações e os nomes de usuário da tabela de usuários para as colunas open_by e closed_by.

Em seguida, juntamos a tabela de reclamações com a tabela de usuários com base na coluna opens_by usando LEFT JOIN. Isso nos permite combinar o user_id deplain.opened_by com o user_id na tabela de usuários e recuperar o nome de usuário correspondente. Apelidamos a tabela unida de A.

Em seguida, realizamos outra operação LEFT JOIN entre a tabela de reclamação e a tabela de usuário com base na coluna closed_by. Chamamos esta tabela unida de B.

O resultado desta consulta fornece uma visão clara dos detalhes da reclamação, juntamente com os nomes de usuário do reclamante e das colunas resolvidas por.

Declaração de lançamento Este artigo foi reimpresso em: 1729735359 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
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