En la linea 42 me tira error de duplicado. Cómo lo soluciono?
La ultima consulta me devuelve el valor correcto pero repetido muchas veces. ¿Porqué?
Código SQL:
Ver originalCREATE schema Piezas_y_Proovedores;
USE Piezas_y_Proovedores;
CREATE TABLE PIEZAS (
codigo INT PRIMARY KEY,
nombre VARCHAR(100)
);
CREATE TABLE PROOVEDORES (
id CHAR(4) PRIMARY KEY,
nombre VARCHAR(100)
);
CREATE TABLE SUMINISTRA (
codigo_de_la_pieza INT,
id_Proovedor CHAR(4),
precio INT,
FOREIGN KEY (codigo_de_la_pieza) REFERENCES PIEZAS(codigo),
FOREIGN KEY (id_Proovedor) REFERENCES PROOVEDORES(id)
);
INSERT INTO PIEZAS
(codigo,nombre)
VALUES (1,'Tornillos'),
(2,'Tuercas'),
(3,'Arandelas'),
(4,'Destornillador'),
(5,'Taladro');
INSERT INTO PROOVEDORES
(id,nombre)
VALUES ('a','Unilever'),
('b','TiendaLeon'),
('c','ProTools'),
('d','MegaTools'),
('e','UltraTools');
INSERT INTO SUMINISTRA
(codigo_de_la_pieza,id_Proovedor,precio)
VALUES (1,'a',300),
(2,'b',200),
(3,'c',500),
(4,'d',350),
(5,'e',600);
/*3.1 OBTENER LOS NOMBRES DE TODAS LAS PIEZAS*/
SELECT PIEZAS.nombre
FROM PIEZAS;
/*3.2 OBTENER TODOS LOS DATOS DE TODOS LOS PROOVEDORES*/
SELECT *
FROM PROOVEDORES;
/*3.3 OBTENER EL PRECIO MEDIO AL QUE SE NOS SUMINISTRAN LAS PIEZAS*/
SELECT AVG(precio)
FROM SUMINISTRA;
/*3.4 OBTENER LOS NOMBRES DE LOS PROOVEDORES QUE SUMINISTRAN LA PIEZA 1*/
SELECT PROOVEDORES.nombre
FROM PROOVEDORES INNER JOIN SUMINISTRA
ON PROOVEDORES.id = SUMINISTRA.id_Proovedor INNER JOIN
PIEZAS ON SUMINISTRA.codigo_de_la_pieza = PIEZAS.codigo
WHERE PIEZAS.codigo = 1;
[/code]