Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/11/2014, 08:41
Citrusl
 
Fecha de Ingreso: octubre-2014
Mensajes: 14
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Por favor Ayud_a con consultas en mysql ?

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 original
  1. CREATE schema Piezas_y_Proovedores;
  2. USE Piezas_y_Proovedores;
  3.  
  4. CREATE TABLE PIEZAS (
  5.  
  6. codigo INT PRIMARY KEY,
  7. nombre VARCHAR(100)
  8.  
  9. );
  10.  
  11. CREATE TABLE PROOVEDORES (
  12.  
  13. id CHAR(4) PRIMARY KEY,
  14. nombre VARCHAR(100)
  15.  
  16. );
  17.  
  18. CREATE TABLE SUMINISTRA (
  19.  
  20. codigo_de_la_pieza INT,
  21. id_Proovedor CHAR(4),
  22. precio INT,
  23. FOREIGN KEY (codigo_de_la_pieza) REFERENCES PIEZAS(codigo),
  24. FOREIGN KEY (id_Proovedor) REFERENCES PROOVEDORES(id)
  25.  
  26. );
  27.  
  28. INSERT INTO PIEZAS
  29. (codigo,nombre)
  30. VALUES (1,'Tornillos'),
  31.        (2,'Tuercas'),
  32.        (3,'Arandelas'),
  33.        (4,'Destornillador'),
  34.        (5,'Taladro');
  35.  
  36. INSERT INTO PROOVEDORES
  37. (id,nombre)
  38. VALUES ('a','Unilever'),
  39.        ('b','TiendaLeon'),
  40.        ('c','ProTools'),
  41.        ('d','MegaTools'),
  42.        ('e','UltraTools');
  43.  
  44. INSERT INTO SUMINISTRA
  45. (codigo_de_la_pieza,id_Proovedor,precio)
  46. VALUES (1,'a',300),
  47.        (2,'b',200),
  48.        (3,'c',500),
  49.        (4,'d',350),
  50.        (5,'e',600);
  51.  
  52. /*3.1 OBTENER LOS NOMBRES DE TODAS LAS PIEZAS*/
  53.  
  54. SELECT PIEZAS.nombre
  55. FROM  PIEZAS;
  56.  
  57. /*3.2 OBTENER TODOS LOS DATOS DE TODOS LOS PROOVEDORES*/
  58.  
  59. SELECT *
  60. FROM PROOVEDORES;
  61.  
  62. /*3.3 OBTENER EL PRECIO MEDIO AL QUE SE NOS SUMINISTRAN LAS PIEZAS*/
  63.  
  64. SELECT AVG(precio)
  65. FROM SUMINISTRA;
  66.  
  67. /*3.4 OBTENER LOS NOMBRES DE LOS PROOVEDORES QUE SUMINISTRAN LA PIEZA 1*/
  68.  
  69. SELECT PROOVEDORES.nombre
  70. FROM PROOVEDORES INNER JOIN SUMINISTRA
  71. ON PROOVEDORES.id = SUMINISTRA.id_Proovedor INNER JOIN
  72. PIEZAS ON SUMINISTRA.codigo_de_la_pieza = PIEZAS.codigo
  73. WHERE PIEZAS.codigo = 1;
[/code]

Última edición por gnzsoloyo; 21/11/2014 a las 08:51