Ver Mensaje Individual
  #12 (permalink)  
Antiguo 21/11/2014, 10:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Cita:
Me refería a cuando te posiciónas al final de una consulta. Select(); (aquí) y le dás clic a compilar...

Te muestra la tabla con Unilever por ejemplo. Pero debería mostrarlo 1 sola ves, lo muestra cientas de veces cada ves que compilo la consulta.
Tres cosas:
1) Lo único que se compila en MySQL son los stored proceudres, stored function, event y trigger. No existe una compilación de scripts... Sólo se ejecutan.
2) Cuando te posicionas al inicio y ejecutas el script, se ejecuta todo el script, o desde un punto en adelante.
3) Si quieres generar un script seguro para la creación de bases de datos, te conviene trabajar primero en el diseñador de esquemas.

Finalmente: Por favor, usa los Highlights de la ventana de edición . Hay específicos para cada cosa, y hay dos dedicados a SQL. Tengo que editar todas las vueltas tus posts para poder etiquetarlos correctamente de modo que resalten bien el código.
El label "CODE", es un label genérico que no sirve para nada.

Código MySQL:
Ver original
  1. CREATE SCHEMA IF NOT EXISTS Piezas_y_Proovedores;
  2. USE Piezas_y_Proovedores;
  3.  
  4. DROP TABLE IF EXISTS suministra;
  5. DROP TABLE IF EXISTS proveedores;
  6.  
  7. CREATE TABLE IF NOT EXISTS PIEZAS (
  8.     codigo INT PRIMARY KEY,
  9.     nombre VARCHAR(100)
  10.  
  11. CREATE TABLE IF NOT EXISTS proveedores (
  12.     id CHAR(4) PRIMARY KEY,
  13.     nombre VARCHAR(100)
  14.  
  15. CREATE TABLE IF NOT EXISTS SUMINISTRA (
  16.     codigo_de_la_pieza INT,
  17.     id_Proovedor CHAR(4),
  18.     precio INT,
  19.     PRIMARY KEY (codigo_de_la_pieza , id_Proovedor),
  20.     FOREIGN KEY (codigo_de_la_pieza)
  21.         REFERENCES PIEZAS (codigo),
  22.     FOREIGN KEY (id_Proovedor)
  23.         REFERENCES PROOVEDORES (id)
  24. );
  25.  
  26. INSERT INTO PIEZAS
  27. (codigo,nombre)
  28. VALUES (1,'Tornillos'),
  29.        (2,'Cinta'),
  30.        (3,'Arandelas'),
  31.        (4,'Destornillador'),
  32.        (5,'Taladro');
  33.  
  34. INSERT INTO PROOVEDORES
  35. (id,nombre)
  36. VALUES ('SQL','Unilever'),
  37.        ('RAT','TiendaLeon'),
  38.        ('LAB','ProTools'),
  39.        ('DER','MegaTools'),
  40.        ('LOV','UltraTools');
  41.  
  42. INSERT INTO SUMINISTRA
  43. (codigo_de_la_pieza,id_Proovedor,precio)
  44. VALUES (1,'SQL',300),
  45.        (2,'RAT',200),
  46.        (3,'LAB',500),
  47.        (4,'DER',350),
  48.        (5,'LOV',600);
  49.  
  50. /*3.1 OBTENER LOS NOMBRES DE TODAS LAS PIEZAS*/
  51.  
  52.     PIEZAS.nombre
  53.     PIEZAS;
  54.  
  55. /*3.2 OBTENER TODOS LOS DATOS DE TODOS LOS PROOVEDORES*/
  56.  
  57.     *
  58.     PROOVEDORES;
  59.  
  60. /*3.3 OBTENER EL PRECIO MEDIO AL QUE SE NOS SUMINISTRAN LAS PIEZAS*/
  61.  
  62.     AVG(precio)
  63.     SUMINISTRA;
  64.  
  65. /*3.4 OBTENER LOS NOMBRES DE LOS PROOVEDORES QUE SUMINISTRAN LA PIEZA 1*/
  66.  
  67.     PROOVEDORES.nombre
  68.     PROOVEDORES
  69.         INNER JOIN
  70.     SUMINISTRA ON PROOVEDORES.id = SUMINISTRA.id_Proovedor
  71.         INNER JOIN
  72.     PIEZAS ON SUMINISTRA.codigo_de_la_pieza = PIEZAS.codigo
  73.     SUMINISTRA.codigo_de_la_pieza = 1;
  74.  
  75. /*3.5 OBTENER LOS NOMBRES DE LAS PIEZAS SUMINISTRADAS POR EL PROVEEDOR CUYO CODIGO ES SQL*/
  76.  
  77.     PIEZAS.nombre
  78.     PIEZAS
  79.         INNER JOIN
  80.     SUMINISTRA ON PIEZAS.codigo = SUMINISTRA.codigo_de_la_pieza
  81.     SUMINISTRA.id_Proovedor = 'SQL';
  82.  
  83. /*3.6 OBTENER LOS NOMBRES DE LOS PROOVEDORES QUE SUMINISTRAN LAS PIEZAS MAS CARAS, INDICANDO EL NOMBRE DE LA PIEZA Y EL PRECIO AL QUE SUMINISTRAN.*/
  84.  
  85.     p1.nombre, ps1.nombre, precio
  86.     PIEZAS p1
  87.         INNER JOIN
  88.     (SUMINISTRA s1
  89.     INNER JOIN PROOVEDORES ps1 ON s1.id_Proovedor = ps1.id) ON p1.codigo = s1.codigo_de_la_pieza
  90.     precio IN (SELECT
  91.             MAX(precio)
  92.         FROM
  93.             SUMINISTRA s2
  94.         GROUP BY s2.codigo_de_la_pieza
  95.         HAVING s2.codigo_de_la_pieza = p1.codigo);
  96.  
  97. /*3.7 HACER CONSTAR EN LA BASE DE DATOS QUE LA EMPRESA "LA PERSEVERANCIA SUPPLIES" (CODIGO LPS) VA A EMPEZAR A SUMINISTRARNOS TUERCAS (CODIGO 1) A 7 PESOS CADA TUERCA.*/
  98.  
  99. INSERT INTO SUMINISTRA
  100. VALUES (1,'LPS',007);
  101.  
  102. /*3.8 AUMENTAR LOS PRECIOS EN UNA UNIDAD*/
  103.  
  104. UPDATE SUMINISTRA
  105.     precio = precio + 1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)