Duda sobre select detail con header multi tabla

07/05/2005 - 15:40 por Carlos Rodriguez | Informe spam
Un ejemplo, sin muchos detalles para que me capten la idea

tengo tabla Mov (tipent,numdoc,fecha,valor)

En tabla Entidad1 (tipent,numdoc, fecha, concepto, campo1, campo2)

En tabla Entidad2 (tipent,numdoc, fecha, concepto, campo3, campo4)

En tabla Entidad3 (tipent,numdoc, fecha, concepto, campo5)

Cada tabla entidad es una entidad independiente con campos distintos y solo
4 campos en comun: fecha, concepto,tipent,numdoc. Todas tienen movimientos
en la tabla MOV, la cual es una tabla comun para todas. La fecha en MOV
esta desnormalizada pues la voy copiando a medida que se registran datos en
cada entidad.

Me estan pidiendo consultas sobre MOV basadas en la fecha pero que incluyan
el concepto, el cual no lo tengo desnormalizado.
Se que tengo que hacer un join complicado para en combinacion con un CASE
para buscar el concepto en cada tabla EntidadN correspondiente.

Estaba pensando hacer una funcion para eso y usarla como una columna del
sELECT.

Mi duda es si me pueden dar una orientacion de si hay formas alternativas
mejores que esta ?

Gracias a todos, apreciados compañeros que tanto nos ayudan.
 

Leer las respuestas

#1 qwalgrande
07/05/2005 - 17:03 | Informe spam
Hola.

Curioso modelo el tuyo...

Por lo que entreveo, la tabla MOV es un recurso tuyo para reporting o algo
así, donde el campo "valor" es alguno de los campos de la entidad
correspondiente. Si es así y puedes manejarla a tu antojo, adecúala a tus
necesidades. Si desnormalizar un campo más te va a resolver problemas,
hazlo.

La función, bueno, sería de gran utilidad, siempre y cuando en esa función
sólo tuvieras que hacer una consulta porque con los parámetros de entrada ya
tuvieras identificada la entidad (entiendo que el campo "tipoent" es para
eso). Si no, en el fondo estarías en las mismas.

qwalgrande


"Carlos Rodriguez" escribió en el mensaje
news:
Un ejemplo, sin muchos detalles para que me capten la idea

tengo tabla Mov (tipent,numdoc,fecha,valor)

En tabla Entidad1 (tipent,numdoc, fecha, concepto, campo1, campo2)

En tabla Entidad2 (tipent,numdoc, fecha, concepto, campo3, campo4)

En tabla Entidad3 (tipent,numdoc, fecha, concepto, campo5)

Cada tabla entidad es una entidad independiente con campos distintos y
solo
4 campos en comun: fecha, concepto,tipent,numdoc. Todas tienen
movimientos
en la tabla MOV, la cual es una tabla comun para todas. La fecha en MOV
esta desnormalizada pues la voy copiando a medida que se registran datos
en
cada entidad.

Me estan pidiendo consultas sobre MOV basadas en la fecha pero que
incluyan
el concepto, el cual no lo tengo desnormalizado.
Se que tengo que hacer un join complicado para en combinacion con un CASE
para buscar el concepto en cada tabla EntidadN correspondiente.

Estaba pensando hacer una funcion para eso y usarla como una columna del
sELECT.

Mi duda es si me pueden dar una orientacion de si hay formas alternativas
mejores que esta ?

Gracias a todos, apreciados compañeros que tanto nos ayudan.



Preguntas similares