Como Generar el MIN numero
Publicado por Patricia Moreno (5 intervenciones) el 24/06/2010 17:59:57
Buenos dias a todos.
necesito su ayuda ya que estoy intentando generar un consulta que me genera dos registros, todo es igual menos un campo numerico, como solo necesito un registro, tengo que el MIN o MAX cualquiera pero que me escoja uno para que me salga solo un registro.
esta es mi consulta, basica mente me esta generando el registro correspodiente a un numero de tarjeta:
SELECT
A.NU_TARJETA NU_TARJETA,
A.CD_BIN CD_BIN,
A.FC_TRANSACCION FC_TRANSACCION,
A.CD_ES_CANJE_INT CD_ES_CANJE_INT,
TO_NUMBER(MIN(A.CD_DW_MES_ACTIVACION)) CD_DW_MES_ACTIVACION,
A.CD_DW_MES_COLOCACION CD_DW_MES_COLOCACION,
C.CD_DW_ENTIDAD CD_DW_ENTIDAD,
C.NM_ENTIDAD NM_ENTIDAD,
H.CD_DW_SEG_AGREGADO CD_DW_SEG_AGREGADO,
H.NM_SEG_AGREGADO NM_SEG_AGREGADO,
TO_NUMBER(TO_DATE(TO_CHAR(A.FC_TRANSACCION, 'YYYYMMDD'))-TO_DATE((A.CD_DW_MES_COLOCACION||01), 'YYYYMMDD')) NU_DIAS,
COUNT(A.NU_TARJETA) NU_TRANSACCIONES,
SUM(A.VL_TRANSACCION) VL_TRANSACCION
FROM LKP_PRIMERA_ACTIVACION A, BIN C, ESTABLECIMIENTO E, LKP_SEG_RANGO_DANE G,LKP_SEG_AGREGADO H,
(SELECT
B.NU_TARJETA,
MAX(B.VL_TRANSACCION) VL_TRANSACCION
FROM LKP_PRIMERA_ACTIVACION B
GROUP BY
B.NU_TARJETA) COL
WHERE COL.NU_TARJETA = A.NU_TARJETA
AND COL.VL_TRANSACCION = A.VL_TRANSACCION
AND A.CD_BIN = C.CD_BIN
AND A.CD_DW_ESTABLECIMIENTO = E.CD_DW_ESTABLECIMIENTO
AND E.CD_DW_AE_REAL = G.CD_DW_AE_REAL
AND G.CD_DW_SEG_AGREGADO = H.CD_DW_SEG_AGREGADO
AND A.NU_TARJETA ='40**************'
GROUP BY
A.NU_TARJETA,
A.CD_BIN,
A.FC_TRANSACCION,
A.VL_TRANSACCION,
A.CD_ES_CANJE_INT,
A.CD_DW_MES_COLOCACION,
C.CD_DW_ENTIDAD,
C.NM_ENTIDAD,
H.CD_DW_SEG_AGREGADO,
H.NM_SEG_AGREGADO
y esto me da como resultado:
NU_TARJETA / FC_TRANS / CD_DW_MES_ACTIVACION / CD_DW_MES_COLOCACION / CD_DW_SEG_AGREGADO / NM_SEG_AGREGADO
40********** 22/07/08 200807 200807 28 Entretenimiento
40********** 22/07/08 200807 200807 58 Restaurantes
si se dan cuenta lo unico diferente en el registro es el 28 y 58 bueno con sus correspondiente nombres, necesito que me genere cualquiera de los dos numeros, pero no los dos.
agradezco su ayuda.
bye.
necesito su ayuda ya que estoy intentando generar un consulta que me genera dos registros, todo es igual menos un campo numerico, como solo necesito un registro, tengo que el MIN o MAX cualquiera pero que me escoja uno para que me salga solo un registro.
esta es mi consulta, basica mente me esta generando el registro correspodiente a un numero de tarjeta:
SELECT
A.NU_TARJETA NU_TARJETA,
A.CD_BIN CD_BIN,
A.FC_TRANSACCION FC_TRANSACCION,
A.CD_ES_CANJE_INT CD_ES_CANJE_INT,
TO_NUMBER(MIN(A.CD_DW_MES_ACTIVACION)) CD_DW_MES_ACTIVACION,
A.CD_DW_MES_COLOCACION CD_DW_MES_COLOCACION,
C.CD_DW_ENTIDAD CD_DW_ENTIDAD,
C.NM_ENTIDAD NM_ENTIDAD,
H.CD_DW_SEG_AGREGADO CD_DW_SEG_AGREGADO,
H.NM_SEG_AGREGADO NM_SEG_AGREGADO,
TO_NUMBER(TO_DATE(TO_CHAR(A.FC_TRANSACCION, 'YYYYMMDD'))-TO_DATE((A.CD_DW_MES_COLOCACION||01), 'YYYYMMDD')) NU_DIAS,
COUNT(A.NU_TARJETA) NU_TRANSACCIONES,
SUM(A.VL_TRANSACCION) VL_TRANSACCION
FROM LKP_PRIMERA_ACTIVACION A, BIN C, ESTABLECIMIENTO E, LKP_SEG_RANGO_DANE G,LKP_SEG_AGREGADO H,
(SELECT
B.NU_TARJETA,
MAX(B.VL_TRANSACCION) VL_TRANSACCION
FROM LKP_PRIMERA_ACTIVACION B
GROUP BY
B.NU_TARJETA) COL
WHERE COL.NU_TARJETA = A.NU_TARJETA
AND COL.VL_TRANSACCION = A.VL_TRANSACCION
AND A.CD_BIN = C.CD_BIN
AND A.CD_DW_ESTABLECIMIENTO = E.CD_DW_ESTABLECIMIENTO
AND E.CD_DW_AE_REAL = G.CD_DW_AE_REAL
AND G.CD_DW_SEG_AGREGADO = H.CD_DW_SEG_AGREGADO
AND A.NU_TARJETA ='40**************'
GROUP BY
A.NU_TARJETA,
A.CD_BIN,
A.FC_TRANSACCION,
A.VL_TRANSACCION,
A.CD_ES_CANJE_INT,
A.CD_DW_MES_COLOCACION,
C.CD_DW_ENTIDAD,
C.NM_ENTIDAD,
H.CD_DW_SEG_AGREGADO,
H.NM_SEG_AGREGADO
y esto me da como resultado:
NU_TARJETA / FC_TRANS / CD_DW_MES_ACTIVACION / CD_DW_MES_COLOCACION / CD_DW_SEG_AGREGADO / NM_SEG_AGREGADO
40********** 22/07/08 200807 200807 28 Entretenimiento
40********** 22/07/08 200807 200807 58 Restaurantes
si se dan cuenta lo unico diferente en el registro es el 28 y 58 bueno con sus correspondiente nombres, necesito que me genere cualquiera de los dos numeros, pero no los dos.
agradezco su ayuda.
bye.
Valora esta pregunta


0