No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
21 Hrs
38 Min
23 Seg

Playground: Metro de Bogotá en SQL

23/34

Aportes 19

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Después de tanto intentar, he aquí mi resultado:

CREATE TABLE linea_estaciones (
id BIGINT (20),

linea_id BIGINT (20) NOT NULL,
estacion_id BIGINT (20),

create_at TIMESTAMP,
update_at TIMESTAMP,

PRIMARY KEY (id)
CONSTRAINT linea_estaciones_linea_id_foreign
FOREIGN KEY (linea_id) REFERENCES linea (id),

CONSTRAINT linea_estaciones_estacion_id_foreign
FOREIGN KEY (estacion_id) REFERENCES estaciones (id)
);

INSERT INTO linea_estaciones (id, linea_id, estacion_id) VALUES
(1, 1, 2),
(2, 1, 11),
(3, 1, 8),
(4, 1, 5),
(5, 1, 4),
(6, 2, 3),
(7, 2, 1),
(8, 2, 7),
(9, 2, 10),
(10, 2, 14),
(11, 3, 6),
(12, 3, 9),
(13, 3, 13),
(14, 3, 15),
(15, 3, 12);

INSERT INTO linea_estaciones (linea_id, estacion_id) VALUES
(
5,
(
SELECT lineas.id
FROM lineas
WHERE lineas.nombre= “Linea 1”
),
(
SELECT estaciones.id
FROM estaciones
WHERE estaciones.nombre= “Estacion 2”
)
);

Aquí mi solución. Por alguna razón el editor no acepta las palabras reservadas UNSIGNED y AUTO_INCREMENT, así que inserté el ID manualmente.

-- CREACIÓN DE LA TABLA PIVOTE
CREATE TABLE `linea_estaciones` (
  `id` BIGINT(20) NOT NULL,
  `linea_id` BIGINT(20) NOT NULL,
  `estacion_id` BIGINT(20) NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  CONSTRAINT `linea_estaciones_linea_id_foreign`
  FOREIGN KEY (`linea_id`) REFERENCES `lineas` (`id`),
  CONSTRAINT `linea_estaciones_estacion_id_foreign`
  FOREIGN KEY (`estacion_id`) REFERENCES `estaciones` (`id`)
);

-- INSERTAR 5 ESTACIONES PARA LA LÍNEA 1
INSERT INTO `linea_estaciones` (id, linea_id, estacion_id) VALUES
(1, 1, 15),
(2, 1, 9),
(3, 1, 2),
(4, 1, 7),

-- INSERTAR REGISTRO CON CONSULTA ANIDADA
(
  5,
  (
    SELECT `id`
    FROM `lineas`
    WHERE `color` = "Amarillo"
  ),
  (
    SELECT `id`
    FROM `estaciones`
    WHERE `inaguracion` = "2026-07-15"
  )
);

-- INSERTAR 5 ESTACIONES PARA LA LÍNEA 2
INSERT INTO `linea_estaciones` (id, linea_id, estacion_id) VALUES
(6, 2, 5),
(7, 2, 1),
(8, 2, 12),
(9, 2, 14),
(10, 2, 3);

-- INSERTAR 5 ESTACIONES PARA LA LÍNEA 3
INSERT INTO `linea_estaciones` (id, linea_id, estacion_id) VALUES
(11, 3, 15),
(12, 3, 10),
(13, 3, 9),
(14, 3, 7),
(15, 3, 6);

SELECT * FROM `linea_estaciones`;


esta fue mi respuesta muy simplificada pero usando algo de logica simple \-- Tu código aquí 👇SELECT \* FROM lineas;SELECT \* FROM estaciones; CREATE TABLE linea\_estaciones ( linea\_id int not null, estacion\_id int not null, foreign key (linea\_id) references lineas(id), foreign key (estacion\_id) references estaciones(id) ); insert into linea\_estaciones (linea\_id, estacion\_id)select 1, id from estaciones where inaguracion > '2026-06-00' union all select 2, id from estaciones where longitud\_km > 3.5 union all select 3, id from estaciones where id < 6;select \* from linea\_estaciones;

Seria metro de Medellín, ya que Bogotá no tiene todavía

![](https://static.platzi.com/media/user_upload/image-b17951df-e7eb-4687-bdbc-ed46c3a9d46c.jpg)
\--Creando la tabla CREATE TABLE 'linea\_estaciones'(id BIGINT(20) NOT NULL,linea\_id BOGINT(20) NOT NULL,estacion\_id BIGINT(20) NOT NULL,created\_at TIMESTAMP DEFAULT CURRENT\_TIMESTAMP,update\_at TIMESTAMP DEFAULT CURRENT\_TIMESTAMP,PRIMARY KEY (id) CONSTRAINT linea\_estaciones\_linea\_id\_foreign FOREIGN KEY(linea\_id) REFERENCES lineas(id),CONSTRAINT lineas\_estaciones\_estacion\_id\_foreign FOREIGN KEY(estacion\_id)REFERENCES estaciones(id)); \--Insertando la información INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id)VALUES (2, ( SELECT id FROM lineas WHERE color = "Azul" ), ( SELECT id FROM estaciones WHERE inaguracion = "2026-09-08" )), (3, ( SELECT id FROM lineas WHERE color = "Azul" ), ( SELECT id FROM estaciones WHERE inaguracion = "2025-06-12" )), (4, ( SELECT id FROM lineas WHERE color = "Azul" ), ( SELECT id FROM estaciones WHERE inaguracion = "2025-12-01" )), (5, ( SELECT id FROM lineas WHERE color = "Azul" ), ( SELECT id FROM estaciones WHERE inaguracion = "2027-03-19" )), (6, ( SELECT id FROM lineas WHERE color = "Amarillo" ), ( SELECT id FROM estaciones WHERE inaguracion = "2026-01-09" )), (7, ( SELECT id FROM lineas WHERE color = "Rojo" ), ( SELECT id FROM estaciones WHERE inaguracion = "2027-08-11" )); SELECT \* FROM linea\_estaciones;
Este es *código* que realice, con mucho **cariño**: ```js CREATE TABLE linea_estaciones ( id BIGINT(20), linea_id BIGINT(20) NOT NULL, estacion_id BIGINT(20) NOT NULL, create_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), CONSTRAINT linea_estaciones_linea_id_foreign FOREIGN KEY (linea_id) REFERENCES lineas(id), CONSTRAINT linea_estaciones_estacion_id_foreign FOREIGN KEY (estacion_id) REFERENCES estacion(id) ); INSERT INTO linea_estaciones (id, linea_id, estacion_id) VALUES (1, 1, 15), (2, 1, 15), (3, 1, 15), (4, 1, 15), (5, 1, 15); INSERT INTO linea_estaciones (id, linea_id, estacion_id) VALUES (6, 2, 15), (7, 2, 15), (8, 2, 15), (9, 2, 15), (10, 2, 15); INSERT INTO linea_estaciones (id, linea_id, estacion_id) VALUES (11, 3, 15), (12, 3, 15), (13, 3, 15), (14, 3, 15), (15, 3, 15); ```CREATE TABLE linea\_estaciones ( id BIGINT(20), linea\_id BIGINT(20) NOT NULL, estacion\_id BIGINT(20) NOT NULL, create\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP, update\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP, PRIMARY KEY (id), CONSTRAINT linea\_estaciones\_linea\_id\_foreign FOREIGN KEY (linea\_id) REFERENCES lineas(id), CONSTRAINT linea\_estaciones\_estacion\_id\_foreign FOREIGN KEY (estacion\_id) REFERENCES estacion(id) ); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (1, 1, 15), (2, 1, 15), (3, 1, 15), (4, 1, 15), (5, 1, 15); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (6, 2, 15), (7, 2, 15), (8, 2, 15), (9, 2, 15), (10, 2, 15); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (11, 3, 15), (12, 3, 15), (13, 3, 15), (14, 3, 15), (15, 3, 15);
Mando mi codigo resuelto: CREATE TABLE linea\_estaciones  (  id BIGINT(20),  linea\_id  BIGINT(20) NOT NULL,  estacion\_id BIGINT(20) NOT NULL,  create\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP,  update\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP,  PRIMARY KEY (id),  CONSTRAINT `linea\_estaciones\_linea\_id\_foreign`  FOREIGN KEY (linea\_id) REFERENCES lineas(id),  CONSTRAINT `linea\_estaciones\_estacion\_id\_foreign`  FOREIGN KEY (estacion\_id) REFERENCES estacion(id)); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (1, 1, 15),(2, 1, 15),(3, 1, 15),(4, 1, 15),(5, 1, 15); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (6, 2, 15),(7, 2, 15),(8, 2, 15),(9, 2, 15),(10, 2, 15); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES (11, 3, 15),(12, 3, 15),(13, 3, 15),(14, 3, 15),(15, 3, 15);
Spoilers . . . . . . . . . . . . . . . . ![](https://static.platzi.com/media/user_upload/image-9bfc2f8e-2d87-42cb-ab58-c5ea1a9082a7.jpg) ![](https://static.platzi.com/media/user_upload/image-db0e7a8b-ccc7-4b35-8415-2f557a7873ff.jpg)
hay que hacer 5 líneas y cada linea debe tener 5 registros para un total de 25, que no permite autoincrement se coloca el id en los registro. aclaro que así lo hice yo. CREATE TABLE linea\_estaciones (    id BIGINT(20) NOT NULL,    linea\_id BIGINT(20) NOT NULL,    estacion\_id BIGINT(20) NOT NULL,    created\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP,    updated\_at TIMESTAMP NOT NULL DEFAULT CURRENT\_TIMESTAMP,    PRIMARY KEY (id),    CONSTRAINT linea\_estaciones\_linea\_id\_foreign FOREIGN KEY (linea\_id) REFERENCES lineas (id),    CONSTRAINT linea\_estaciones\_estacion\_id\_constraint FOREIGN KEY (estacion\_id) REFERENCES estaciones (id)); INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES  -- Línea 1  (1, 1, 1),  (2, 1, 2),  (3, 1, 3),  (4, 1, 4),  (5, 1, 5),   -- Línea 2  (6, 2, 6),  (7, 2, 7),  (8, 2, 8),  (9, 2, 9),  (10, 2, 10),   -- Línea 3  (11, 3, 11),  (12, 3, 12),  (13, 3, 13),  (14, 3, 14),  (15, 3, 15),   -- Línea 4  (16, 4, 16),  (17, 4, 17),  (18, 4, 18),  (19, 4, 19),  (20, 4, 20),   -- Línea 5  (21, 5, 21),  (22, 5, 22),  (23, 5, 23),  (24, 5, 24),  (25, 5, 25);
``CREATE TABLE `linea_estaciones` (`` `` `id` BIGINT(20) NOT NULL, `` `` `linea_id` BIGINT(20) NOT NULL, `` `` `estacion_id` BIGINT(20) NOT NULL, `` `PRIMARY KEY(id),` `` CONSTRAINT `linea_estaciones_linea_id_foreign` `` ``FOREIGN KEY (`linea_id`) REFERENCES `lineas`(`id`),`` `` CONSTRAINT `linea_estaciones_estacion_id_foreign` `` ``FOREIGN KEY (`estacion_id`) REFERENCES `estaciones`(`id`)`` `);` ``INSERT INTO linea_estaciones (`id`, `linea_id`, `estacion_id`) VALUES`` `(1,1,1),` `(2,1,2),` `(3,1,3),` `(4,1,4),` `(5,1,5),` `(6,2,1),` `(7,2,2),` `(8,2,3),` `(9,2,4),` `(10,2,5);`

Esta es mi solución, intente usar los operadores lógicos como lo recomendaban para múltiples ingresos al mismo sin embargo como mencione el resultado fue diferente al esperado.

CREATE TABLE linea_estaciones (
  linea_id INT NOT NULL,
  estacion_id INT NOT NULL,

  FOREIGN KEY (`linea_id`) REFERENCES `lineas`(`id`),
  FOREIGN KEY (`estacion_id`) REFERENCES `estaciones`(`id`)
);

INSERT INTO linea_estaciones (linea_id, estacion_id) 
VALUES (
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 1"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 2"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 3"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 4"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 5"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 6"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 7"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 8"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 9"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 10"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 11"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 12"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 13"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 14"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas 
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones 
    WHERE estaciones.nombre = "Estacion 15"
  )
);

SELECT * FROM linea_estaciones;
CREATE TABLE linea\_estaciones (         id BIGINT (20),     linea\_id BIGINT (20) NOT NULL,     estacion\_id BIGINT (20) NOT NULL,     create\_at TIMESTAMP,     update\_at TIMESTAMP,     PRIMARY KEY (id),        CONSTRAINT linea\_estaciones\_linea\_id\_foreign FOREIGN KEY (linea\_id) REFERENCES linea (id),     CONSTRAINT linea\_estaciones\_estacion\_id\_foreign FOREIGN KEY (estacion\_id) REFERENCES estaciones (id)         );     INSERT INTO linea\_estaciones (id, linea\_id, estacion\_id) VALUES     (1, 1, 2),    (2, 1, 11),    (3, 1, 8),    (4, 1, 5),     (5, 1, 4),     (6, 2, 3),     (7, 2, 1),     (8, 2, 7),     (9, 2, 10),     (10, 2, 14),     (11, 3, 6),     (12, 3, 9),     (13, 3, 13),     (14, 3, 15),     (15, 3, 12);     INSERT INTO linea\_estaciones (linea\_id, estacion\_id) VALUES     ( 5, ( SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1" ),    ( SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 2" )     );
. . . . . . . . . . . . \-- Crear la tabla linea\_estaciones CREATE TABLE linea\_estaciones ( linea\_id INT, estacion\_id INT, PRIMARY KEY (linea\_id, estacion\_id), FOREIGN KEY (linea\_id) REFERENCES lineas(id), FOREIGN KEY (estacion\_id) REFERENCES estaciones(id) ); \-- Asegúrate de que cada línea tenga al menos 5 estaciones. \-- Puedes ajustar estas asignaciones según tus necesidades. \-- Línea 1 - Asignar estaciones 1 a 5 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 1, id FROM estaciones WHERE id BETWEEN 1 AND 5; \-- Línea 2 - Asignar estaciones 6 a 10 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 2, id FROM estaciones WHERE id BETWEEN 6 AND 10; \-- Línea 3 - Asignar estaciones 11 a 15 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 3, id FROM estaciones WHERE id BETWEEN 11 AND 15; \-- Línea 4 - Asignar estaciones 16 a 20 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 4, id FROM estaciones WHERE id BETWEEN 16 AND 20; \-- Línea 5 - Asignar estaciones 21 a 25 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 5, id FROM estaciones WHERE id BETWEEN 21 AND 25; \-- Línea 6 - Asignar estaciones 26 a 30 INSERT INTO linea\_estaciones (linea\_id, estacion\_id) SELECT 6, id FROM estaciones WHERE id BETWEEN 26 AND 30;

Por alguna razón, no me aceptó los comandos NOT NULL ni los constraint asi que tiene que ser bastante simple la creación de la tabla, esta fue mi solución después de tanto:

<CREATE TABLE linea_estaciones (
 linea_id INT,
 estacion_id INT,
 FOREIGN KEY (linea_id) REFERENCES linea (id),
 FOREIGN KEY (estacion_id) REFERENCES estaciones (id)
);

INSERT INTO linea_estaciones (linea_id, estacion_id)
VALUES 
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 1"
  )
),
(
 (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 2"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 3"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 4"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 1"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 5"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 6"
  )
),
(
 (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 7"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 8"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 9"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 2"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 10"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 1"
  )
),
(
 (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 2"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 3"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 4"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 3"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 5"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 4"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 6"
  )
),
(
 (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 4"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 7"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 4"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 8"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 4"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 9"
  )
),
(
  (
    SELECT lineas.id
    FROM lineas
    WHERE lineas.nombre = "Linea 4"
  ),
  (
    SELECT estaciones.id
    FROM estaciones
    WHERE estaciones.nombre = "Estación 10"
  )
);> 
-- Tu código aquí 👇
-- Crear la tabla pivote linea_estaciones
CREATE TABLE linea_estaciones (
  linea_id INT,
  estacion_id INT,
  FOREIGN KEY (linea_id) REFERENCES lineas(id),
  FOREIGN KEY (estacion_id) REFERENCES estaciones(id)
);

-- Agregar relaciones entre estaciones y líneas
INSERT INTO linea_estaciones (linea_id, estacion_id) VALUES
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 1")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 2")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 3")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 4")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 5")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 6")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 7")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 8")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 9")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 10")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 11")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 12")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 13")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 14")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 15"))
;

el código está insertando manualmente relaciones entre las líneas y las estaciones en la tabla pivote linea_estaciones utilizando subconsultas para obtener los IDs de las tablas lineas y estaciones según los nombres especificados. Esto asegura que cada línea tenga al menos 5 estaciones conectadas. Sin embargo, este enfoque puede ser poco escalable si hay muchas líneas y estaciones, ya que se requiere una inserción manual para cada combinación.

Si se pudo 🥳🥳🥳🥳

-- Tu código aquí 👇
-- SELECT * FROM lineas;
-- SELECT * FROM estaciones;

CREATE TABLE linea_estaciones(
  linea_id BIGIBT(20) NOT NULL,
  estacion_id BIGIBT(20) NOT NULL,
  CONSTRAINT `linea_estaciones_linea_id_foreign`
  FOREIGN KEY (`linea_id`) REFERENCES `lineas` (`id`),
  CONSTRAINT `linea_estaciones_estacion_id_foreign`
  FOREIGN KEY (`estacion_id`) REFERENCES `estaciones` (`id`)
);

INSERT INTO linea_estaciones (linea_id, estacion_id) VALUES
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 1")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 2")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 3")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 4")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 1"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 5")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 6")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 7")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 8")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 9")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 2"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 10")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 11")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 12")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 13")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 14")),
((SELECT lineas.id FROM lineas WHERE lineas.nombre= "Linea 3"),
(SELECT estaciones.id FROM estaciones WHERE estaciones.nombre= "Estacion 15"))
;

Y haciendo la sucia:

-- Tu código aquí 👇
-- SELECT * FROM lineas;
-- SELECT * FROM estaciones;

CREATE TABLE linea_estaciones(
  linea_id BIGIBT(20) NOT NULL,
  estacion_id BIGIBT(20) NOT NULL,
  CONSTRAINT `linea_estaciones_linea_id_foreign`
  FOREIGN KEY (`linea_id`) REFERENCES `lineas` (`id`),
  CONSTRAINT `linea_estaciones_estacion_id_foreign`
  FOREIGN KEY (`estacion_id`) REFERENCES `estaciones` (`id`)
);

INSERT INTO linea_estaciones(linea_id, estacion_id) VALUES
(1,1),
(1,2),
(1,3),
(1,4),
(1,5),
(2,6),
(2,7),
(2,8),
(2,9),
(2,10),
(3,11),
(3,12),
(3,13),
(3,14),
(3,15); 

SELECT * FROM lineas;
SELECT * FROM estaciones;

CREATE TABLE lineas_estaciones (
id BIGINT (20) NOT NULL,
linea_id BIGINT (20) NOT NULL,
estacion_id BIGINT (20) NOT NULL,
create_atTIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_atTIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (id),
CONSTRAINT lineas_estaciones_linea_id_foreign FOREIGN KEY (linea_id) REFERENCES lineas (id),
CONSTRAINT estaciones_lineas_estacion_id_foreign FOREIGN KEY (estacion_id) REFERENCES estaciones (id)
);

Usar solo si te rindes:

CREATE TABLE linea_estaciones (
linea_id BIGINT(20) UNSIGNED NOT NULL,
estacion_id BIGINT(20) UNSIGNED NOT NULL,
PRIMARY KEY (linea_id, estacion_id),
FOREIGN KEY (linea_id) REFERENCES lineas (id),
FOREIGN KEY (estacion_id) REFERENCES estaciones (id)
);

INSERT INTO linea_estaciones (linea_id, estacion_id) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(1, 5);

undefined