Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/02/2011, 02:59
Avatar de Heimish2000
Heimish2000
 
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 10 meses
Puntos: 89
Respuesta: seleccionar agrupando por id y precio mas bajo y stock mas alto

Mi ultimo código no funciona (me di cuenta ayer) porque la segunda select de la UNION te devolverá todos los registros que tengan algún cero y queremos unicamente los que tengan TODO ceros.

Creo que este si funcionaría (si no funciona, sería algo similar)

Código SQL:
Ver original
  1. SELECT ID, id_proveedor, producto, precio, stock
  2. FROM
  3.     (
  4.         (
  5.             SELECT ID, MIN(PRECIO) AS PRE
  6.             FROM TARIFAS
  7.             WHERE STOCK > 0
  8.             GROUP BY ID
  9.         )
  10.         UNION
  11.         (
  12.             SELECT TA1.ID, TA1.MIN(PRECIO) AS PRE
  13.             FROM TARIFAS TA1
  14.             EXCEPTION JOIN TARIFAS TA2 ON
  15.             TA1.ID = TA2.ID
  16.             WHERE TA2.STOCK > 0
  17.             GROUP BY ID
  18.         )
  19.     ) T1
  20. INNER JOIN TARIFAS TAR ON
  21. T1.ID = TAR.ID AND T1.PRE = TAR.PRECIO