Unirse a la misma tabla dos veces en diferentes columnas para una recuperación versátil de información del usuario
Esta consulta tiene como objetivo recuperar nombres de usuario para las columnas open_by y close_by en la tabla de quejas, donde los usuarios se almacenan en la tabla de usuarios. El desafío radica en unir la tabla de usuarios varias veces usando diferentes columnas.
Para realizar esta tarea, empleamos una operación LEFT JOIN para cada instancia de la tabla de usuarios, asignando alias a las tablas unidas como A y B para mayor claridad. La consulta procede de la siguiente manera:
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
En esta consulta, comenzamos seleccionando la columna texto_queja de la tabla de quejas y los nombres de usuario de la tabla de usuarios para las columnas abierto_por y cerrado_por.
Luego unimos la tabla de quejas con la tabla de usuarios según la columna open_by usando LEFT JOIN. Esto nos permite hacer coincidir el ID de usuario de queja.opened_by con el ID de usuario en la tabla de usuarios y recuperar el nombre de usuario correspondiente. A la tabla unida le asignamos el alias A.
A continuación, realizamos otra operación LEFT JOIN entre la tabla de quejas y la tabla de usuarios según la columna cerrada_por. A esta tabla unida le asignamos el alias B.
El resultado de esta consulta proporciona una vista clara de los detalles de la queja, junto con los nombres de usuario tanto del reclamante como de las columnas resueltas Por.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3