es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Seleccionar registros de una tabla con relaciones padre e hijos en MySql.

¡Hola y bienvenido a mi pregunta!

Tengo esta tabla:

CREATE TABLE IF NOT EXISTS business(
  businessname varchar(250) NOT NULL,
  title varchar(250) NOT NULL,
  registerdate datetime NOT NULL,
  id int NOT NULL,
  city varchar(50) NOT NULL,
  tk varchar(10) NOT NULL,
  number varchar(20) NOT NULL,
  branch int,
  doy_id int NOT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (branch) REFERENCES business(id)
  ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY (doy_id) REFERENCES doy(id_kataxorisis)
  ON DELETE CASCADE ON UPDATE CASCADE
)

Como puede ver, esta tabla representa una empresa, aunque no muy bien.

La columna branch representa la “hija” de una empresa.

Deseo encontrar (con una declaración select) el nombre de cada empresa y su empresa matriz, si la empresa no tiene empresa matriz, debe mostrar NULL.

He estado pensando en esto por algún tiempo y ni siquiera sé por dónde empezar. ¿Podría ayudarme, por favor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Claro, puedo ayudarte con esto. Puedes usar la siguiente instrucción SELECT para obtener el resultado deseado:

    SELECT b1.businessname, b2.businessname AS parent_company 
    FROM business b1 
    LEFT JOIN business b2 ON b1.branch = b2.id;
    

    Esta instrucción devolverá el nombre de cada empresa y su empresa matriz, o NULL si la empresa no tiene una empresa matriz.

Comments are closed.