Consulta relación 1 a N

08/11/2006 - 23:08 por Santiago Titon | Informe spam
Hola a todos, hace tiempo que estoy pensando este problema y no
encuentro si hay una solución. Tambien estuve buscando en el grupo,
pero no halle algo similar.
Tengo un sistema de administración para Municipios donde se registran
las Partidas (inmuebles) de una ciudad. Cada Partida tiene un
Nomenclador Catastral que la ubica (Ej: Sección, Chacra, Quinta,
Manzana, Lote,etc). Pero en distintas ciudades dicho nomenclador varia
en cantidad y nombre de los campos. Como el sistema es más bien
enlatado, la implementación está dada por las siguientes tablas:

Partidas: IdPartida, Metros2, Valuacion,

Nomenclador: IdNomen, Nombre (Guarda la config.que
cada ciudad requiere)

PartidaNomen: IdPartida, IdNomen, Valor (Guarda el valor para
cada partida/campo )


El problema: ¿ Cómo realizar una consulta que devuelva en una sola
línea los datos de la partida y sus valores catastrales ?

Ej.
IdPartida, Metros2, Valuacion, ..., Seccion, Chacra, Quinta, Lote,...
1, 200, 20000, ... , 1, 1, 2, 34, ...
2, 250, 25000, ... , 1, 2, 5, 46, ...
...
...


Desde ya muchas gracias!

Santiago Titon

Preguntas similare

Leer las respuestas

#1 BitOne
09/11/2006 - 02:27 | Informe spam
pudieras aclararnos por favor y mostrar la estructura de las tablas?

BitOne
"Santiago Titon" wrote in message
news:
Hola a todos, hace tiempo que estoy pensando este problema y no
encuentro si hay una solución. Tambien estuve buscando en el grupo,
pero no halle algo similar.
Tengo un sistema de administración para Municipios donde se registran
las Partidas (inmuebles) de una ciudad. Cada Partida tiene un
Nomenclador Catastral que la ubica (Ej: Sección, Chacra, Quinta,
Manzana, Lote,etc). Pero en distintas ciudades dicho nomenclador varia
en cantidad y nombre de los campos. Como el sistema es más bien
enlatado, la implementación está dada por las siguientes tablas:

Partidas: IdPartida, Metros2, Valuacion,

Nomenclador: IdNomen, Nombre (Guarda la config.que
cada ciudad requiere)

PartidaNomen: IdPartida, IdNomen, Valor (Guarda el valor para
cada partida/campo )


El problema: ¿ Cómo realizar una consulta que devuelva en una sola
línea los datos de la partida y sus valores catastrales ?

Ej.
IdPartida, Metros2, Valuacion, ..., Seccion, Chacra, Quinta, Lote,...
1, 200, 20000, ... , 1, 1, 2, 34, ...
2, 250, 25000, ... , 1, 2, 5, 46, ...
...
...


Desde ya muchas gracias!

Santiago Titon
Respuesta Responder a este mensaje
#2 Santiago Titon
09/11/2006 - 12:24 | Informe spam
La estructura es la que describí:

Partidas <>> PartidaNomen <<> Nomenclador

IdPartida IdPartida IdNomen
Metros2 IdNomen Nombre
Valuacion Valor



Santiago Titon
Respuesta Responder a este mensaje
#3 Salvador Ramos
09/11/2006 - 13:29 | Informe spam
Hola,

Haciendo join entre las tres tablas:
Select [Campos a mostrar]
from Partidas P inner join PartidaNomen PN on P.idPartida = PN.idPartida
inner join Nomen N PN.idNomen = N.idNomen
where ...
...

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Santiago Titon" escribió en el mensaje
news:
La estructura es la que describí:

Partidas <>> PartidaNomen <<> Nomenclador

IdPartida IdPartida IdNomen
Metros2 IdNomen Nombre
Valuacion Valor



Santiago Titon
Respuesta Responder a este mensaje
#4 Santiago Titon
09/11/2006 - 15:04 | Informe spam
Hola Salvador,

El problema es como hacer que devuelva todos los valores pero en una
sola linea para cada Partida:

Ej.

Datos de Partida + Datos Catastrales variables segun Nomenclador

IdPartida, Metros2, Valuacion, ..., Seccion, Chacra, Quinta, Lote,...
1, 200, 20000, ... , 1, 1, 2, 34, ...
2, 250, 25000, ... , 1, 2, 5, 46, ...



Gracias !

Santiago
Respuesta Responder a este mensaje
#5 Javier Loria
09/11/2006 - 15:26 | Informe spam
Hola:
Si Salvador me permite:
==SELECT IdPartida, Metros2, Valuacion, Seccion.Valor, Chacra.Valor,
Quinta.Valor
FROM Partidas
INNER JOIN PartidaNomen AS Seccion
ON Partidas.idPartida = Seccion.idPartida
AND IdNomen=1
INNER JOIN PartidaNomen AS Chacra
ON Partidas.idPartida = Chacra.idPartida
AND IdNomen=2
INNER JOIN PartidaNomen AS Quinta
ON Partidas.idPartida = Quinta.idPartida
AND IdNomen=3

== Saludos,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Santiago Titon" wrote in message
news:
Hola Salvador,

El problema es como hacer que devuelva todos los valores pero en una
sola linea para cada Partida:

Ej.

Datos de Partida + Datos Catastrales variables segun Nomenclador

IdPartida, Metros2, Valuacion, ..., Seccion, Chacra, Quinta, Lote,...
1, 200, 20000, ... , 1, 1, 2, 34, ...
2, 250, 25000, ... , 1, 2, 5, 46, ...



Gracias !

Santiago

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida