consula sql ayuda

Iniciado por juanxo12, 31 Julio 2018, 16:21 PM

0 Miembros y 1 Visitante están viendo este tema.

juanxo12

Hola quisiera saber como extraer la fila completa de la linea que cumpla esta condicion
Código (sql) [Seleccionar]
select min(linea) from tabla where tipo ='b' group by (id)
en otras palabras
la fila que contenga la linea mas pequeña que sea del tipo 'b' de cada id
¿alguien que pueda echarme una mano?
¿Son necesarios cursores?
la base de datos es postgresql
tabla
Código (actionscript-french) [Seleccionar]
----------------------------------
id      tipo      linea    nombre
----------------------------------
1       a          2         juan

2       b          1         pepe

2       b          4        pepito

3       a          2       pepote



Carloswaldo

Espero haber entendido bien:

Código (sql) [Seleccionar]
postgres=# SELECT DISTINCT ON (id) * FROM test WHERE tipo = 'b' ORDER BY id, linea;
id | tipo | linea | nombre
----+------+-------+--------
  2 | b    |     1 | pepe
(1 row)