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.
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