Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/08/2013, 09:49
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
Respuesta: cursores y triggers plsql

En ese contexto no puedes obtener el nombre, porque debes agrupar por tipo, y si agrupas por tipo y nombre, te puede devolver más de uno de cada categoría, si hay más de un tipo de plato con el mismo precio.
Para que te devuelva un único plato por cada tipo, se requiere una estructura más compleja de lo que planteas.
En todo caso, para obtener de cada tipo, el precio mínimo sería:
Código SQL:
Ver original
  1. /*----declaracion---*/
  2.  
  3. DECLARE
  4.     CURSOR cursor1
  5.     IS
  6.         SELECT   tipo, MIN (precio) precio
  7.             FROM platos
  8.         GROUP BY tipo;
  9.  
  10.     V_tipo     VARCHAR2 (20);
  11.     V_precio   NUMBER;
  12. BEGIN
  13. /*----apertura---*/
  14.     OPEN cursor1;
  15.  
  16. /*----recogida de datos---*/
  17.     LOOP
  18.         FETCH cursor1
  19.          INTO V_tipo, v_precio;
  20.  
  21.         EXIT WHEN cursor1%NOTFOUND;
  22.         DBMS_OUTPUT.put_line (   'Tipo: '
  23.                               || v_tipo
  24.                               || ' Precio: '
  25.                               || TO_CHAR (v_precio)
  26.                              );
  27.     END LOOP;
  28.  
  29. /*----cierre del cursor--*/
  30.     CLOSE cursor1;
  31. END;
  32. /
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)