Oracle - Consulta para nombre en tabla

   
Vista:

Consulta para nombre en tabla

Publicado por Ronald (3 intervenciones) el 30/10/2014 18:32:50
Amigos necesito ayuda en un problema q tal vez resulte fácil para ustedes la cuestion es que al generar un reporte de clientes, estos cambian de un dia para otro su nombre generando doble o hasta a veces triple registro cuando debo usar solo el ultimo. con la captura se puede ver mejor q este cliente un dia se llama una cosa y al otro le aumenta algo, pero en un reporte finas solo debo usar uno con el historial de saldos... mi pregunta es como puedo convertir toda la columna de ese registro en el nombre final, claro q hay mas clientes y no es solo para uno,

consulta


como se ve hay diferencia en el nombre pero lo demas es lo mismo .. ahora lo q quiero es q ese nombre se convierta en uno solo...

gracias
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

Consulta para nombre en tabla

Publicado por Jorge (21 intervenciones) el 30/10/2014 21:26:42
Tienes que normalizar tu bd, debes tener una tabla maestra de plan_cuenta, donde asocies un código a una descripción, si deseas puedes tener otra tabla historica de plan_cuenta; pero para tu reporte usarias la tabla maestra para traer la descripción.
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

Consulta para nombre en tabla

Publicado por Ronald (3 intervenciones) el 30/10/2014 21:31:32
Gracias por la respuesta .. y bueno ese es otro camino .. pero quería saber si puedo usar la Descripción de la ultima fecha en todas las filas y así poder uniformar en la misma consulta .. ya que el llenado de esta tabla no la realizo yo , y si ingresa otro cliente también tendría q actualizar la nueva 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

Consulta para nombre en tabla

Publicado por jorge (21 intervenciones) el 30/10/2014 21:52:32
Bueno, si la quieres sacar asi, tendrías problemas de performace, suponiendo que tu tabla del reporte tiene 1000 registros, al hacer un select simple accederias 1 vez a la tabla. Pero si por cada registro quieres obtener el último nombre, estarias accediendo a la tabla 1 vez por cada fila, es decir para dicha consulta accederias 1000 veces a la tabla.

En todo caso el query sería algo asi (no necesariamente es el más optimo):

1
2
3
4
5
6
7
8
9
10
11
12
13
Select <campo1>,
<campo2>,
...
cod_plan_cuenta,
(select desc_plan_cuenta
 from  ( select desc_plan_cuenta
              from tabla
              where cod_plan_cuenta = t.cod_plan_cuenta
              order by cod_fecha_bk desc
           )
 where rownum <= 1
) desc_plan_cuenta
from tabla t
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

Consulta para nombre en tabla

Publicado por Hugo qn (3 intervenciones) el 31/10/2014 19:58:52
Hola Ronal, podrías de la siguiente manera.

SELECT T2.COD_FECHA_BK,
T1.TIPO_RIES,
T1.COD_RATIO,
T1.COD_MONEDA_BK,
T1.DEC_MONEDA_RIES,
T1.COD_PLAN_CUENTA,
SUM(T1.SALDO),
T2.DESC_PLAN_CUENTA
FROM TABLA_VARIAS_NOMBRES T1,
INNER JOIN (SELECT COD_FECHA_BK, TIPO_RIES, COD_RATIO, COD_MONEDA_BK, DEC_MONEDA_RIES, COD_PLAN_CUENTA, DESC_PLAN_CUENTA
FROM TABLA_VARIAS_NOMBRES A
WHERE COD_FECHA_BK = (SELECT MAX(COD_FECHA_BK)
FROM TABLA_VARIAS_NOMBRES B
WHERE A.TIPO_RIES = B.TIPO_RIES
AND A.COD_RATIO = B.COD_RATIO
AND A.COD_MONEDA_BK = B.COD_MONEDA_BK
AND A.DEC_MONEDA_RIES = B.DEC_MONEDA_RIES
AND A.COD_PLAN_CUENTA = B.COD_PLAN_CUENTA)) T2
ON T1.TIPO_RIES = T2.TIPO_RIES
AND T1.COD_RATIO = T2.COD_RATIO
AND T1.COD_MONEDA_BK = T2.COD_MONEDA_BK
AND T1.DEC_MONEDA_RIES = T2.DEC_MONEDA_RIES
AND T1.COD_PLAN_CUENTA = T2.COD_PLAN_CUENTA
GROUP BY T2.COD_FECHA_BK,
T1.TIPO_RIES,
T1.COD_RATIO,
T1.COD_MONEDA_BK,
T1.DEC_MONEDA_RIES,
T1.COD_PLAN_CUENTA,
T2.DESC_PLAN_CUENTA


saludos.
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

Consulta para nombre en tabla

Publicado por Ronald (3 intervenciones) el 06/11/2014 21:03:50
Excelente Hugo muchas gracias modifique solo un poco y salio de ese modo ... Saludos
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