"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo recuperar los datos de dos tablas MySQL y procesar correspondencias faltantes?

¿Cómo recuperar los datos de dos tablas MySQL y procesar correspondencias faltantes?

Publicado el 2025-04-19
Navegar:321

How to Retrieve Data from Two MySQL Tables with Missing Correspondents?

Selección de dos tablas en mySQL con corresponsales faltantes

para recuperar datos de dos tablas en mysql y manejar los casos en que no todas las filas en una tabla tienen rodajas correspondientes en la otra, puede utilizar una unión externa. Este enfoque difiere del método de unión implícito obsoleto y ofrece una mayor flexibilidad.

Considere el siguiente ejemplo:

tiene dos tablas, categorías (con ID de columnas y título) y productos (con columna ID, propietario, título y precio, donde el propietario de referencias ID en la tabla de categorías). Precios, agrupados por ID de categoría. Sin embargo, la consulta actual excluye las categorías sin productos correspondientes.

para resolver este problema, emplee una unión a la izquierda:

seleccione Carolina del Sur.*, Ifnull (min (s.price), 0) como minp, Ifnull (max (s.price), 0) como maxp De las categorías como SC Izquierda unir productos como S En S.Ownerid = sc.id Grupo por sc.id

SELECT
    sc.*,
    IFNULL(MIN(s.price), 0) AS minp,
    IFNULL(MAX(s.price), 0) AS maxp
FROM categories AS sc
LEFT JOIN products AS s
ON s.ownerid = sc.id
GROUP BY sc.id

Alternativamente, puede preferir devolver nulo para estas categorías en lugar de 0, dependiendo de sus requisitos específicos.

Último tutorial Más>

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