Informix - ¿First en Informix?

 
Vista:

¿First en Informix?

Publicado por Jordi J. (5 intervenciones) el 08/02/2006 17:41:38
Buenos días...

recurro a vosotros a ver si alguien me puede resolver una duda un poco liadilla.

Tengo que hacer una consulta con un group by de una serie de columnas, y pillar la primera de una combinación de tres columnas.

En SQL de Microsoft lo hago de ese modo

SELECT campoA, campoB, campoC, FIRST(campo1), FIRST(campo2), FIRST(campo3)
FROM blabla
WHERE bla bla
GROUP BY campoA, campoB, campoC

¿Cómo podria hacerlo en informix? la función FIRST no existe, ¡creo!

Gracias y espero haberme explicado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿First en Informix?

Publicado por Manu (69 intervenciones) el 09/02/2006 08:04:15
En informix es:

SELECT first 1 campoA, campoB, campoC
FROM blabla
WHERE bla bla
GROUP BY campoA, campoB, campoC

pero creo que deberias hacer tambien order by 1,2,3
para asegurar que la fila que te devuelva esa select fuese siempre la misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿First en Informix?

Publicado por pablo (1 intervención) el 04/05/2006 23:22:04
me gustaria conocer el informix desde su base
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿First en Informix?

Publicado por abr (18 intervenciones) el 09/02/2006 11:34:17
Hola Jordi, en Informix la funcion FIRST no sirve para lo que quieres, aqui tienes la funcion MIN( campo1) que te devuelve el valor mas pequeño de la columna campo1. Puedes utilizarlo incluso en datos alfanuméricos.
Espero que sea lo que buscas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿First en Informix?

Publicado por Jordi J. (5 intervenciones) el 16/02/2006 11:56:28
Hola a los dos
si y no en vuestras respuestas, pero no es lo pedido.

Os pondre mejor un ejemplo:

Resultado de un listado sin group by alguno:
denominación 1, nif 1, Serie6, num 150, 01/02/06
denominación 1, nif 1, Serie6, num 70, 01/04/06
denominación 2, nif 2, Serie6, num 48, 15/07/06
denominación 2, nif 2, Serie6, num 155, 18/03/06
denominación 2, nif 2, Serie6, num 210, 15/05/06
denominación 3, nif 3, Serie6, num 10, 10/02/06

Con función de agregado, debería agrupar las dos primeras columnas aplicando LA MÁS VIEJA de la combinación de las tres ultimas columnas ya que van ligadas entre sí quedando en ese ejemplo del siguiente modo:

denominación 1, nif 1, Serie6, num 150, 01/02/06
denominación 2, nif 2, Serie6, num 155, 18/03/06
denominación 3, nif 3, Serie6, num 10, 10/02/06

No sirve el mín ni nada de eso que sino pillaría el menor de cada una de las tres columnas y no es correcto.

Es liado si, pero...

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿First en Informix?

Publicado por abr (18 intervenciones) el 17/02/2006 13:53:46
La única manera que se me ocurre es utilizar la misma tabla dos veces utilizando 'alias'. Te pongo un ejemplo :

select a.denominación, a.nif, a.serie, a.num, a.fecha
from tabla a
where a.fecha = (
select min(b.fecha) from tabla b
where b.denominacion = a.denominacion
and b.nif = a.nif
and b.serie = a.serie)

Es decir obtenemos los datos de tabla (con el alias 'a') cuando la fecha sea la mas baja de la misma tabla (con el alias 'b') bajo las mismas condiciones.

Pruebalo y me dices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿First en Informix?

Publicado por Jordi J. (5 intervenciones) el 23/02/2006 17:30:29
Buenas,
hace el apaño, el problema está en que hace de la consulta excesivamente lenta... pero sirve, por ahora.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿First en Informix?

Publicado por LMRV (1 intervención) el 07/04/2017 23:54:58
SELECT FIRST 50 CAMPOA,CAMPOB FROM TABLA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar