Como generar este SELECT!!!

23/03/2007 - 19:34 por José Redondo | Informe spam
Hola a todos.

Les planteo el siguiente caso haber quién me da luz para poder generar el
select que necesito y asi obtener la información que necesito.

Esta información comprende el nombre de la ciudad donde se encuentra
democráficamente en un país especifico.

Las tablas que se encuentran en este escenario es el siguiente:

1.- Primer escenario: Paises, Estados(Departamentos, etc) ,
Municipios(Distritos, etc) , Parroquías
2.- Segundo escenario: Ciudades, Codigos Postales y Urbanizaciones(Barrios,
etc.)

Cada uno de los escenarios planteados anteriormente se encuentran
relacionados en el orden que los expuse.

Ahora el asunto es que tengo la tabla Ciudades relacionandose con
Estados(Departamentos, etc) y necesito obtener de un Select el nombre de la
ciudad de acuerdo a un país, estado, municipio y parroquia dado. Por ejemplo,

Pais: Venezuela
Estado: Aragua
Municipio: Girardot
Parroquia: Las Delicias

y al darle esos datos en el Select, me traiga el nombre de la ciudad donde
de acuerdo con los parametros dados anteriormente me muestre la o las
ciudades que puedan concordar al respecto, osea,

Ciudad: Maracay u otras si las hay

Intente con un SubQuery en el Select y nada. Realmente no hayo ya que hacer
al respecto. Algún compañero del foro me podría hacer el favor de darme una
plena orientación al respecto para que prontamente darle solución al mismo.

Salu2 cordiales desde Venezuela,

José Redondo

Preguntas similare

Leer las respuestas

#1 Manuel Etcheto
23/03/2007 - 20:58 | Informe spam
José:
Si enviás la definición completa de las tablas, datos de muestra para
insertar , y el resultado desado, con todo gusto te vamos a ayudar .

Salu2
Manuel


"José Redondo" escribió en el mensaje
news:
Hola a todos.

Les planteo el siguiente caso haber quién me da luz para poder generar el
select que necesito y asi obtener la información que necesito.

Esta información comprende el nombre de la ciudad donde se encuentra
democráficamente en un país especifico.

Las tablas que se encuentran en este escenario es el siguiente:

1.- Primer escenario: Paises, Estados(Departamentos, etc) ,
Municipios(Distritos, etc) , Parroquías
2.- Segundo escenario: Ciudades, Codigos Postales y
Urbanizaciones(Barrios,
etc.)

Cada uno de los escenarios planteados anteriormente se encuentran
relacionados en el orden que los expuse.

Ahora el asunto es que tengo la tabla Ciudades relacionandose con
Estados(Departamentos, etc) y necesito obtener de un Select el nombre de
la
ciudad de acuerdo a un país, estado, municipio y parroquia dado. Por
ejemplo,

Pais: Venezuela
Estado: Aragua
Municipio: Girardot
Parroquia: Las Delicias

y al darle esos datos en el Select, me traiga el nombre de la ciudad donde
de acuerdo con los parametros dados anteriormente me muestre la o las
ciudades que puedan concordar al respecto, osea,

Ciudad: Maracay u otras si las hay

Intente con un SubQuery en el Select y nada. Realmente no hayo ya que
hacer
al respecto. Algún compañero del foro me podría hacer el favor de darme
una
plena orientación al respecto para que prontamente darle solución al
mismo.

Salu2 cordiales desde Venezuela,

José Redondo
Respuesta Responder a este mensaje
#2 José Redondo
23/03/2007 - 23:08 | Informe spam
Aquí te expongo la definición de las tablas y los datos de muestras:

Tablas:

Primer escenario:
1.- Pais (IdPais"PK", Nombre)
2.- Estados(IdEstados"PK"; IdPais"FK"; Nombre)
3.- Municipios(IdMunicipios"PK"; IdEstados"FK"; Nombre)
4.- Parroquias(IdParroquias"PK"; IdMunicipios"FK"; Nombre)

Segundo escenario:
1.- Ciudades(IdCiudades"PK"; IdEstados"FK"; Nombre)
2.- CodigosPostales(IdCodigosPostales"PK"; IdCiudades"FK"; Nombre)
3.- SectoresBarrios(IdSectoresBarrios"PK"; IdCodigosPostales"FK"; Nombre)

Cada unas de las tablas de los escenarios expuestos anteriormente estan
relacionados en el orden en el que se encuentran, (lease: "PK" con los
respectivos "FK"). La tabla Ciudades esta relacionada con Estados, y

este es el nexo que no me permite traer los datos que se desea.

Lo explico de forma explicita:

Un Pais tiene N cantidad de Estados,
Un Estado tiene N cantidad de Municipios,
Un Municipio tiene N cantidad de Parroquias,

AHORA

Un Estado tiene N cantidad de Ciudades que a su vez X Ciudad puede tener N
cantidad de Municipios y Parroquias.

Espero haber sido claro con la definición de las tablas, Manuel.

Datos del primer escenario:

- Tabla Pais

IdPais Nombre
1 Venezuela
2 Colombia

- Tabla Estados

IdEstados IdPais Nombre
1 1 Zulia
2 1 Aragua
3 2 Atlántico
4 2 Valle

- Tabla Municipios

IdMunicipios IdEstados Nombre
1 1 Maracaibo
2 2 Girardot
3 2 Zamora
4 2 Mario Briceño
5 3 Barranquilla

- Tabla Parroquías

IdParroquías IdMunicipios Nombre
1 2 Andres Eloy
2 2 Las Delicias
3 5 Boston
4 5 Soledad

Datos del segundo escenario:

- Tabla Ciudades

IdCiudades IdEstados Nombre
1 1 Maracaibo
2 2 Cagua
3 2 Maracay
4 3 Barranquilla
5 4 Cali

- Tabla CodigosPostales

IdCodigosPostales IdCiudades Nombre
1 3 2010
2 3 2340
3 3 2080
4 4 9632

- Tabla SectoresBarrios

IdSectoresBarrios IdCodigosPostales Nombre
1 1 La Democracia
2 1 Las Delicias
3 1 19 de Abril
4 1 Soledad

AHORA LA CONSULTA QUE DESEO:

Pais Estados Municipios Parroquias CIUDADES
Venezuela Aragua Girardot Andres Eloy MARACAY

El problema radica en que al solicitarles los datos del país, estado,
municipio y parroquia anteriormente expuesto en el ejemplo que menciono ME
TRAE TODOS LOS DATOS DE LAS CIUDADES DEL ESTADO

HABIENDOLE SOLICITADO SOLAMENTE LA DE LAS 4 PRIMERAS COLUMNAS, ejemplo:

RESULTADOS DE LA CONSULTA DE EJEMPLO:

Pais Estados Municipios Parroquias CIUDADES
Venezuela Aragua Girardot Andres Eloy MARACAY
Venezuela Aragua Girardot Andres Eloy CAGUA
Venezuela Aragua Girardot Andres Eloy PALO NEGRO
Venezuela Aragua Girardot Andres Eloy CAÑA DE AZUCAR
Venezuela Aragua Girardot Andres Eloy COLONIA TOVAR

Con este ejemplo considero que ya tendrian una noción de la problematica que
tengo al respecto, este query tendria que traerme solamente los datos
pertenecientes a las ciudades que se encuentren en el rango de

información (VENEZUELA, ARAGUA, GIRARDOT, ANDRES ELOY) la cual deberia
responder con MARACAY y CAÑA DE AZUCAR; y no traerme todas las ciudades del
ESTADO como tal, que seria según este ejemplo ARAGUA.

Espero que con la exposición anterior te de idea de lo que se busca. Gracias
de antemano por la guía.

Salu2,

JR

"Manuel Etcheto" wrote:

José:
Si enviás la definición completa de las tablas, datos de muestra para
insertar , y el resultado desado, con todo gusto te vamos a ayudar .

Salu2
Manuel


"José Redondo" escribió en el mensaje
news:
> Hola a todos.
>
> Les planteo el siguiente caso haber quién me da luz para poder generar el
> select que necesito y asi obtener la información que necesito.
>
> Esta información comprende el nombre de la ciudad donde se encuentra
> democráficamente en un país especifico.
>
> Las tablas que se encuentran en este escenario es el siguiente:
>
> 1.- Primer escenario: Paises, Estados(Departamentos, etc) ,
> Municipios(Distritos, etc) , Parroquías
> 2.- Segundo escenario: Ciudades, Codigos Postales y
> Urbanizaciones(Barrios,
> etc.)
>
> Cada uno de los escenarios planteados anteriormente se encuentran
> relacionados en el orden que los expuse.
>
> Ahora el asunto es que tengo la tabla Ciudades relacionandose con
> Estados(Departamentos, etc) y necesito obtener de un Select el nombre de
> la
> ciudad de acuerdo a un país, estado, municipio y parroquia dado. Por
> ejemplo,
>
> Pais: Venezuela
> Estado: Aragua
> Municipio: Girardot
> Parroquia: Las Delicias
>
> y al darle esos datos en el Select, me traiga el nombre de la ciudad donde
> de acuerdo con los parametros dados anteriormente me muestre la o las
> ciudades que puedan concordar al respecto, osea,
>
> Ciudad: Maracay u otras si las hay
>
> Intente con un SubQuery en el Select y nada. Realmente no hayo ya que
> hacer
> al respecto. Algún compañero del foro me podría hacer el favor de darme
> una
> plena orientación al respecto para que prontamente darle solución al
> mismo.
>
> Salu2 cordiales desde Venezuela,
>
> José Redondo



Respuesta Responder a este mensaje
#3 Manuel Etcheto
26/03/2007 - 21:05 | Informe spam
José: No veo cómo se relacionan las ciudades con los
municipios-parroquias...

Por favor, y para que tengas una rápida respuesta, expone las definiciones
completas de las tablas y los insert para pruebas de forma tal que podamos
pegarlo en el Query analyser, ejecutarlo, y efectuar las pruebas sin tener
que perder una gran cantidad de tiempo.
EJ:
CREATE TABLE dbo.Ciudades (idCiudad int ...
...
CONSTRAINT FK_ciudades_estados FOREIGN KEY ..
GO
CREATE TABLE ...
...
GO
INSERT INTO xxx values (ccc, vvv, XXX)
.
.
Pasando tal y cual parámetro, el resultado deseado es:
XXX, ZZZ, YYY

Y nunca está de más que indiques versión de SQL Server y Service Pack.

Salu2
Manuel



"José Redondo" escribió en el mensaje
news:
Aquí te expongo la definición de las tablas y los datos de muestras:

Tablas:

Primer escenario:
1.- Pais (IdPais"PK", Nombre)
2.- Estados(IdEstados"PK"; IdPais"FK"; Nombre)
3.- Municipios(IdMunicipios"PK"; IdEstados"FK"; Nombre)
4.- Parroquias(IdParroquias"PK"; IdMunicipios"FK"; Nombre)

Segundo escenario:
1.- Ciudades(IdCiudades"PK"; IdEstados"FK"; Nombre)
2.- CodigosPostales(IdCodigosPostales"PK"; IdCiudades"FK"; Nombre)
3.- SectoresBarrios(IdSectoresBarrios"PK"; IdCodigosPostales"FK"; Nombre)

Cada unas de las tablas de los escenarios expuestos anteriormente estan
relacionados en el orden en el que se encuentran, (lease: "PK" con los
respectivos "FK"). La tabla Ciudades esta relacionada con Estados, y

este es el nexo que no me permite traer los datos que se desea.

Lo explico de forma explicita:

Un Pais tiene N cantidad de Estados,
Un Estado tiene N cantidad de Municipios,
Un Municipio tiene N cantidad de Parroquias,

AHORA

Un Estado tiene N cantidad de Ciudades que a su vez X Ciudad puede tener N
cantidad de Municipios y Parroquias.

Espero haber sido claro con la definición de las tablas, Manuel.

Datos del primer escenario:

- Tabla Pais

IdPais Nombre
1 Venezuela
2 Colombia

- Tabla Estados

IdEstados IdPais Nombre
1 1 Zulia
2 1 Aragua
3 2 Atlántico
4 2 Valle

- Tabla Municipios

IdMunicipios IdEstados Nombre
1 1 Maracaibo
2 2 Girardot
3 2 Zamora
4 2 Mario Briceño
5 3 Barranquilla

- Tabla Parroquías

IdParroquías IdMunicipios Nombre
1 2 Andres Eloy
2 2 Las Delicias
3 5 Boston
4 5 Soledad

Datos del segundo escenario:

- Tabla Ciudades

IdCiudades IdEstados Nombre
1 1 Maracaibo
2 2 Cagua
3 2 Maracay
4 3 Barranquilla
5 4 Cali

- Tabla CodigosPostales

IdCodigosPostales IdCiudades Nombre
1 3 2010
2 3 2340
3 3 2080
4 4 9632

- Tabla SectoresBarrios

IdSectoresBarrios IdCodigosPostales Nombre
1 1 La Democracia
2 1 Las Delicias
3 1 19 de Abril
4 1 Soledad

AHORA LA CONSULTA QUE DESEO:

Pais Estados Municipios Parroquias CIUDADES
Venezuela Aragua Girardot Andres Eloy MARACAY

El problema radica en que al solicitarles los datos del país, estado,
municipio y parroquia anteriormente expuesto en el ejemplo que menciono ME
TRAE TODOS LOS DATOS DE LAS CIUDADES DEL ESTADO

HABIENDOLE SOLICITADO SOLAMENTE LA DE LAS 4 PRIMERAS COLUMNAS, ejemplo:

RESULTADOS DE LA CONSULTA DE EJEMPLO:

Pais Estados Municipios Parroquias CIUDADES
Venezuela Aragua Girardot Andres Eloy MARACAY
Venezuela Aragua Girardot Andres Eloy CAGUA
Venezuela Aragua Girardot Andres Eloy PALO NEGRO
Venezuela Aragua Girardot Andres Eloy CAÑA DE AZUCAR
Venezuela Aragua Girardot Andres Eloy COLONIA TOVAR

Con este ejemplo considero que ya tendrian una noción de la problematica
que
tengo al respecto, este query tendria que traerme solamente los datos
pertenecientes a las ciudades que se encuentren en el rango de

información (VENEZUELA, ARAGUA, GIRARDOT, ANDRES ELOY) la cual deberia
responder con MARACAY y CAÑA DE AZUCAR; y no traerme todas las ciudades
del
ESTADO como tal, que seria según este ejemplo ARAGUA.

Espero que con la exposición anterior te de idea de lo que se busca.
Gracias
de antemano por la guía.

Salu2,

JR

"Manuel Etcheto" wrote:

José:
Si enviás la definición completa de las tablas, datos de muestra para
insertar , y el resultado desado, con todo gusto te vamos a ayudar .

Salu2
Manuel


"José Redondo" escribió en el
mensaje
news:
> Hola a todos.
>
> Les planteo el siguiente caso haber quién me da luz para poder generar
> el
> select que necesito y asi obtener la información que necesito.
>
> Esta información comprende el nombre de la ciudad donde se encuentra
> democráficamente en un país especifico.
>
> Las tablas que se encuentran en este escenario es el siguiente:
>
> 1.- Primer escenario: Paises, Estados(Departamentos, etc) ,
> Municipios(Distritos, etc) , Parroquías
> 2.- Segundo escenario: Ciudades, Codigos Postales y
> Urbanizaciones(Barrios,
> etc.)
>
> Cada uno de los escenarios planteados anteriormente se encuentran
> relacionados en el orden que los expuse.
>
> Ahora el asunto es que tengo la tabla Ciudades relacionandose con
> Estados(Departamentos, etc) y necesito obtener de un Select el nombre
> de
> la
> ciudad de acuerdo a un país, estado, municipio y parroquia dado. Por
> ejemplo,
>
> Pais: Venezuela
> Estado: Aragua
> Municipio: Girardot
> Parroquia: Las Delicias
>
> y al darle esos datos en el Select, me traiga el nombre de la ciudad
> donde
> de acuerdo con los parametros dados anteriormente me muestre la o las
> ciudades que puedan concordar al respecto, osea,
>
> Ciudad: Maracay u otras si las hay
>
> Intente con un SubQuery en el Select y nada. Realmente no hayo ya que
> hacer
> al respecto. Algún compañero del foro me podría hacer el favor de darme
> una
> plena orientación al respecto para que prontamente darle solución al
> mismo.
>
> Salu2 cordiales desde Venezuela,
>
> José Redondo



Respuesta Responder a este mensaje
#4 José Redondo
28/03/2007 - 02:58 | Informe spam
La versión en la cual estoy generando todo esto es SQL Server Developer
Edition 2005, sp2 en este momento, ya que bajo esta plataforma se encuentra
desarrollandose toda la solución.

Aquí te paso el scrip respectivo de lo que me mencionas:

USE [BDT_SIASODIAM]
GO

/****** Object: Schema [Administracion] Script Date: 03/26/2007 15:24:29
******/
CREATE SCHEMA [Administracion] AUTHORIZATION [dbo]
GO

/****** Object: UserDefinedDataType [dbo].[Id] Script Date: 03/26/2007
15:24:56 ******/
CREATE TYPE [dbo].[Id] FROM [int] NOT NULL
GO

/****** Object: UserDefinedDataType [dbo].[NombreEntidad] Script Date:
03/26/2007 15:24:56 ******/
CREATE TYPE [dbo].[NombreEntidad] FROM [nvarchar](120) NOT NULL
GO

/****** Object: UserDefinedDataType [dbo].[NumeroCodigoPostal] Script
Date: 03/26/2007 15:24:56 ******/
CREATE TYPE [dbo].[NumeroCodigoPostal] FROM [char](8) NOT NULL
GO

/****** Object: Table [Administracion].[TBL_EstadosDepartamentosProvincias]
Script Date: 03/26/2007 15:24:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_EstadosDepartamentosProvincias](
[IdTBL_EstadosDepartamentosProvincias] [dbo].[Id] IDENTITY(1,1) NOT FOR
REPLICATION NOT NULL,
[IdTBL_Paises] [dbo].[Id] NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT
[PKN_IdTBL_EstadosDepartamentosProvincias_TBL_EstadosDepartamentosProvincias]
PRIMARY KEY CLUSTERED
(
[IdTBL_EstadosDepartamentosProvincias] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Table [Administracion].[TBL_MunicipiosDistritosCondados]
Script Date: 03/26/2007 15:24:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_MunicipiosDistritosCondados](
[IdTBL_MunicipiosDistritosCondados] [dbo].[Id] IDENTITY(1,1) NOT FOR
REPLICATION NOT NULL,
[IdTBL_EstadosDepartamentosProvincias] [dbo].[Id] NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT
[PKN_IdTBL_MunicipiosDistritosCondados_TBL_MunicipiosDistritosCondados]
PRIMARY KEY CLUSTERED
(
[IdTBL_MunicipiosDistritosCondados] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Table [Administracion].[TBL_ParroquiasColoniasUrbes]
Script Date: 03/26/2007 15:24:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_ParroquiasColoniasUrbes](
[IdTBL_ParroquiasColoniasUrbes] [dbo].[Id] IDENTITY(1,1) NOT FOR
REPLICATION NOT NULL,
[IdTBL_MunicipiosDistritosCondados] [dbo].[Id] NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT [PKN_IdTBL_ParroquiasColoniasUrbes_TBL_ParroquiasColoniasUrbes]
PRIMARY KEY CLUSTERED
(
[IdTBL_ParroquiasColoniasUrbes] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Table [Administracion].[TBL_CiudadesPueblosCacerios]
Script Date: 03/26/2007 15:24:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_CiudadesPueblosCacerios](
[IdTBL_CiudadesPueblosCacerios] [dbo].[Id] IDENTITY(1,1) NOT FOR
REPLICATION NOT NULL,
[IdTBL_EstadosDepartamentosProvincias] [dbo].[Id] NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT [PKN_IdTBL_CiudadesPueblosCacerios_TBL_CiudadesPueblosCacerios]
PRIMARY KEY CLUSTERED
(
[IdTBL_CiudadesPueblosCacerios] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Table [Administracion].[TBL_CodigosPostales] Script
Date: 03/26/2007 15:24:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Administracion].[TBL_CodigosPostales](
[IdTBL_CodigosPostales] [dbo].[Id] IDENTITY(1,1) NOT FOR REPLICATION NOT
NULL,
[IdTBL_CiudadesPueblosCacerios] [dbo].[Id] NOT NULL,
[NumeroCodigoPostal] [dbo].[NumeroCodigoPostal] NOT NULL,
CONSTRAINT [PKN_IdTBL_CodigosPostales_TBL_CodigosPostales] PRIMARY KEY
CLUSTERED
(
[IdTBL_CodigosPostales] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO
SET ANSI_PADDING OFF
GO

/****** Object: Table [Administracion].[TBL_UrbanizacionesBarriosSectores]
Script Date: 03/26/2007 15:24:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_UrbanizacionesBarriosSectores](
[IdTBL_UrbanizacionesBarriosSectores] [dbo].[Id] IDENTITY(1,1) NOT FOR
REPLICATION NOT NULL,
[IdTBL_CodigosPostales] [dbo].[Id] NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT
[PKN_IdTBL_UrbanizacionesBarriosSectores_TBL_UrbanizacionesBarriosSectores]
PRIMARY KEY CLUSTERED
(
[IdTBL_UrbanizacionesBarriosSectores] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Table [Administracion].[TBL_Paises] Script Date:
03/26/2007 15:24:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Administracion].[TBL_Paises](
[IdTBL_Paises] [dbo].[Id] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[Nombre] [dbo].[NombreEntidad] NOT NULL,
CONSTRAINT [PKN_IdTBL_Paises_TBL_Paises] PRIMARY KEY CLUSTERED
(
[IdTBL_Paises] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [SECOND]
) ON [SECOND]
GO

/****** Object: Check [CHK_TBL_CiudadesPueblosCacerios_Nombre_NOTNULL]
Script Date: 03/26/2007 15:24:33 ******/
ALTER TABLE [Administracion].[TBL_CiudadesPueblosCacerios] WITH CHECK ADD
CONSTRAINT [CHK_TBL_CiudadesPueblosCacerios_Nombre_NOTNULL] CHECK
(([Nombre]>CONVERT([nvarchar](120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_CiudadesPueblosCacerios] CHECK CONSTRAINT
[CHK_TBL_CiudadesPueblosCacerios_Nombre_NOTNULL]
GO

/****** Object: Check [CHK_TBL_CodigosPostales_NumeroCodigoPostal_NOTNULL]
Script Date: 03/26/2007 15:24:37 ******/
ALTER TABLE [Administracion].[TBL_CodigosPostales] WITH CHECK ADD
CONSTRAINT [CHK_TBL_CodigosPostales_NumeroCodigoPostal_NOTNULL] CHECK
(([NumeroCodigoPostal]>CONVERT([char](8),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_CodigosPostales] CHECK CONSTRAINT
[CHK_TBL_CodigosPostales_NumeroCodigoPostal_NOTNULL]
GO

/****** Object: Check
[CHK_TBL_EstadosDepartamentosProvincias_Nombre_NOTNULL] Script Date:
03/26/2007 15:24:41 ******/
ALTER TABLE [Administracion].[TBL_EstadosDepartamentosProvincias] WITH
CHECK ADD CONSTRAINT [CHK_TBL_EstadosDepartamentosProvincias_Nombre_NOTNULL]
CHECK (([Nombre]>CONVERT([nvarchar]

(120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_EstadosDepartamentosProvincias] CHECK
CONSTRAINT [CHK_TBL_EstadosDepartamentosProvincias_Nombre_NOTNULL]
GO

/****** Object: Check [CHK_TBL_MunicipiosDistritosCondados_Nombre_NOTNULL]
Script Date: 03/26/2007 15:24:45 ******/
ALTER TABLE [Administracion].[TBL_MunicipiosDistritosCondados] WITH CHECK
ADD CONSTRAINT [CHK_TBL_MunicipiosDistritosCondados_Nombre_NOTNULL] CHECK
(([Nombre]>CONVERT([nvarchar](120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_MunicipiosDistritosCondados] CHECK
CONSTRAINT [CHK_TBL_MunicipiosDistritosCondados_Nombre_NOTNULL]
GO

/****** Object: Check [CHK_TBL_ParroquiasColoniasUrbes_Nombre_NOTNULL]
Script Date: 03/26/2007 15:24:49 ******/
ALTER TABLE [Administracion].[TBL_ParroquiasColoniasUrbes] WITH CHECK ADD
CONSTRAINT [CHK_TBL_ParroquiasColoniasUrbes_Nombre_NOTNULL] CHECK
(([Nombre]>CONVERT([nvarchar](120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_ParroquiasColoniasUrbes] CHECK CONSTRAINT
[CHK_TBL_ParroquiasColoniasUrbes_Nombre_NOTNULL]
GO

/****** Object: Check [CHK_TBL_Paises_Nombre_NOTNULL] Script Date:
03/26/2007 15:24:52 ******/
ALTER TABLE [Administracion].[TBL_Paises] WITH CHECK ADD CONSTRAINT
[CHK_TBL_Paises_Nombre_NOTNULL] CHECK
(([Nombre]>CONVERT([nvarchar](120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_Paises] CHECK CONSTRAINT
[CHK_TBL_Paises_Nombre_NOTNULL]
GO

/****** Object: Check
[CHK_TBL_UrbanizacionesBarriosSectores_Nombre_NOTNULL] Script Date:
03/26/2007 15:24:56 ******/
ALTER TABLE [Administracion].[TBL_UrbanizacionesBarriosSectores] WITH CHECK
ADD CONSTRAINT [CHK_TBL_UrbanizacionesBarriosSectores_Nombre_NOTNULL] CHECK
(([Nombre]>CONVERT([nvarchar]

(120),'',(0))))
GO
ALTER TABLE [Administracion].[TBL_UrbanizacionesBarriosSectores] CHECK
CONSTRAINT [CHK_TBL_UrbanizacionesBarriosSectores_Nombre_NOTNULL]
GO

/****** Object: ForeignKey
[FKN_TBL_CiudadesPueblosCacerios_TBL_EstadosDepartamentosProvincias]
Script Date: 03/26/2007 15:24:33 ******/
ALTER TABLE [Administracion].[TBL_CiudadesPueblosCacerios] WITH CHECK ADD
CONSTRAINT
[FKN_TBL_CiudadesPueblosCacerios_TBL_EstadosDepartamentosProvincias] FOREIGN

KEY([IdTBL_EstadosDepartamentosProvincias])
REFERENCES [Administracion].[TBL_EstadosDepartamentosProvincias]
([IdTBL_EstadosDepartamentosProvincias])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_CiudadesPueblosCacerios] CHECK CONSTRAINT
[FKN_TBL_CiudadesPueblosCacerios_TBL_EstadosDepartamentosProvincias]
GO

/****** Object: ForeignKey
[FKN_TBL_CodigosPostales_TBL_CiudadesPueblosCacerios] Script Date:
03/26/2007 15:24:37 ******/
ALTER TABLE [Administracion].[TBL_CodigosPostales] WITH CHECK ADD
CONSTRAINT [FKN_TBL_CodigosPostales_TBL_CiudadesPueblosCacerios] FOREIGN
KEY([IdTBL_CiudadesPueblosCacerios])
REFERENCES [Administracion].[TBL_CiudadesPueblosCacerios]
([IdTBL_CiudadesPueblosCacerios])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_CodigosPostales] CHECK CONSTRAINT
[FKN_TBL_CodigosPostales_TBL_CiudadesPueblosCacerios]
GO

/****** Object: ForeignKey
[FKN_TBL_EstadosDepartamentosProvincias_TBL_Paises] Script Date:
03/26/2007 15:24:41 ******/
ALTER TABLE [Administracion].[TBL_EstadosDepartamentosProvincias] WITH
CHECK ADD CONSTRAINT [FKN_TBL_EstadosDepartamentosProvincias_TBL_Paises]
FOREIGN KEY([IdTBL_Paises])
REFERENCES [Administracion].[TBL_Paises] ([IdTBL_Paises])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_EstadosDepartamentosProvincias] CHECK
CONSTRAINT [FKN_TBL_EstadosDepartamentosProvincias_TBL_Paises]
GO

/****** Object: ForeignKey
[FKN_TBL_MunicipiosDistritosCondados_TBL_EstadosDepartamentosProvincias]
Script Date: 03/26/2007 15:24:45 ******/
ALTER TABLE [Administracion].[TBL_MunicipiosDistritosCondados] WITH CHECK
ADD CONSTRAINT
[FKN_TBL_MunicipiosDistritosCondados_TBL_EstadosDepartamentosProvincias]
FOREIGN

KEY([IdTBL_EstadosDepartamentosProvincias])
REFERENCES [Administracion].[TBL_EstadosDepartamentosProvincias]
([IdTBL_EstadosDepartamentosProvincias])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_MunicipiosDistritosCondados] CHECK
CONSTRAINT
[FKN_TBL_MunicipiosDistritosCondados_TBL_EstadosDepartamentosProvincias]
GO

/****** Object: ForeignKey
[FKN_TBL_ParroquiasColoniasUrbes_TBL_MunicipiosDistritosCondados] Script
Date: 03/26/2007 15:24:49 ******/
ALTER TABLE [Administracion].[TBL_ParroquiasColoniasUrbes] WITH CHECK ADD
CONSTRAINT [FKN_TBL_ParroquiasColoniasUrbes_TBL_MunicipiosDistritosCondados]
FOREIGN

KEY([IdTBL_MunicipiosDistritosCondados])
REFERENCES [Administracion].[TBL_MunicipiosDistritosCondados]
([IdTBL_MunicipiosDistritosCondados])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_ParroquiasColoniasUrbes] CHECK CONSTRAINT
[FKN_TBL_ParroquiasColoniasUrbes_TBL_MunicipiosDistritosCondados]
GO

/****** Object: ForeignKey
[FKN_TBL_UrbanizacionesBarriosSectores_TBL_CodigosPostales] Script Date:
03/26/2007 15:24:56 ******/
ALTER TABLE [Administracion].[TBL_UrbanizacionesBarriosSectores] WITH CHECK
ADD CONSTRAINT [FKN_TBL_UrbanizacionesBarriosSectores_TBL_CodigosPostales]
FOREIGN KEY([IdTBL_CodigosPostales])
REFERENCES [Administracion].[TBL_CodigosPostales] ([IdTBL_CodigosPostales])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [Administracion].[TBL_UrbanizacionesBarriosSectores] CHECK
CONSTRAINT [FKN_TBL_UrbanizacionesBarriosSectores_TBL_CodigosPostales]
GO

Cualquier comentario enviame tu correo a y te paso el
diagrama de ese escenario y así tendras una idea mas clara de lo que se
busca, te parece.

Salu2 cordiales,

JR

"Manuel Etcheto" wrote:

José: No veo cómo se relacionan las ciudades con los
municipios-parroquias...

Por favor, y para que tengas una rápida respuesta, expone las definiciones
completas de las tablas y los insert para pruebas de forma tal que podamos
pegarlo en el Query analyser, ejecutarlo, y efectuar las pruebas sin tener
que perder una gran cantidad de tiempo.
EJ:
CREATE TABLE dbo.Ciudades (idCiudad int ...

CONSTRAINT FK_ciudades_estados FOREIGN KEY ..
GO
CREATE TABLE ...

GO
INSERT INTO xxx values (ccc, vvv, XXX)
..
..
Pasando tal y cual parámetro, el resultado deseado es:
XXX, ZZZ, YYY

Y nunca está de más que indiques versión de SQL Server y Service Pack.

Salu2
Manuel



"José Redondo" escribió en el mensaje
news:
> Aquí te expongo la definición de las tablas y los datos de muestras:
>
> Tablas:
>
> Primer escenario:
> 1.- Pais (IdPais"PK", Nombre)
> 2.- Estados(IdEstados"PK"; IdPais"FK"; Nombre)
> 3.- Municipios(IdMunicipios"PK"; IdEstados"FK"; Nombre)
> 4.- Parroquias(IdParroquias"PK"; IdMunicipios"FK"; Nombre)
>
> Segundo escenario:
> 1.- Ciudades(IdCiudades"PK"; IdEstados"FK"; Nombre)
> 2.- CodigosPostales(IdCodigosPostales"PK"; IdCiudades"FK"; Nombre)
> 3.- SectoresBarrios(IdSectoresBarrios"PK"; IdCodigosPostales"FK"; Nombre)
>
> Cada unas de las tablas de los escenarios expuestos anteriormente estan
> relacionados en el orden en el que se encuentran, (lease: "PK" con los
> respectivos "FK"). La tabla Ciudades esta relacionada con Estados, y
>
> este es el nexo que no me permite traer los datos que se desea.
>
> Lo explico de forma explicita:
>
> Un Pais tiene N cantidad de Estados,
> Un Estado tiene N cantidad de Municipios,
> Un Municipio tiene N cantidad de Parroquias,
>
> AHORA
>
> Un Estado tiene N cantidad de Ciudades que a su vez X Ciudad puede tener N
> cantidad de Municipios y Parroquias.
>
> Espero haber sido claro con la definición de las tablas, Manuel.
>
> Datos del primer escenario:
>
> - Tabla Pais
>
> IdPais Nombre
> 1 Venezuela
> 2 Colombia
>
> - Tabla Estados
>
> IdEstados IdPais Nombre
> 1 1 Zulia
> 2 1 Aragua
> 3 2 Atlántico
> 4 2 Valle
>
> - Tabla Municipios
>
> IdMunicipios IdEstados Nombre
> 1 1 Maracaibo
> 2 2 Girardot
> 3 2 Zamora
> 4 2 Mario Briceño
> 5 3 Barranquilla
>
> - Tabla Parroquías
>
> IdParroquías IdMunicipios Nombre
> 1 2 Andres Eloy
> 2 2 Las Delicias
> 3 5 Boston
> 4 5 Soledad
>
> Datos del segundo escenario:
>
> - Tabla Ciudades
>
> IdCiudades IdEstados Nombre
> 1 1 Maracaibo
> 2 2 Cagua
> 3 2 Maracay
> 4 3 Barranquilla
> 5 4 Cali
>
> - Tabla CodigosPostales
>
> IdCodigosPostales IdCiudades Nombre
> 1 3 2010
> 2 3 2340
> 3 3 2080
> 4 4 9632
>
> - Tabla SectoresBarrios
>
> IdSectoresBarrios IdCodigosPostales Nombre
> 1 1 La Democracia
> 2 1 Las Delicias
> 3 1 19 de Abril
> 4 1 Soledad
>
> AHORA LA CONSULTA QUE DESEO:
>
> Pais Estados Municipios Parroquias CIUDADES
> Venezuela Aragua Girardot Andres Eloy MARACAY
>
> El problema radica en que al solicitarles los datos del país, estado,
> municipio y parroquia anteriormente expuesto en el ejemplo que menciono ME
> TRAE TODOS LOS DATOS DE LAS CIUDADES DEL ESTADO
>
> HABIENDOLE SOLICITADO SOLAMENTE LA DE LAS 4 PRIMERAS COLUMNAS, ejemplo:
>
> RESULTADOS DE LA CONSULTA DE EJEMPLO:
>
> Pais Estados Municipios Parroquias CIUDADES
> Venezuela Aragua Girardot Andres Eloy MARACAY
> Venezuela Aragua Girardot Andres Eloy CAGUA
> Venezuela Aragua Girardot Andres Eloy PALO NEGRO
> Venezuela Aragua Girardot Andres Eloy CAÑA DE AZUCAR
> Venezuela Aragua Girardot Andres Eloy COLONIA TOVAR
>
> Con este ejemplo considero que ya tendrian una noción de la problematica
> que
> tengo al respecto, este query tendria que traerme solamente los datos
> pertenecientes a las ciudades que se encuentren en el rango de
>
> información (VENEZUELA, ARAGUA, GIRARDOT, ANDRES ELOY) la cual deberia
> responder con MARACAY y CAÑA DE AZUCAR; y no traerme todas las ciudades
> del
> ESTADO como tal, que seria según este ejemplo ARAGUA.
>
> Espero que con la exposición anterior te de idea de lo que se busca.
> Gracias
> de antemano por la guía.
>
> Salu2,
>
> JR
>
> "Manuel Etcheto" wrote:
>
>> José:
>> Si enviás la definición completa de las tablas, datos de muestra para
>> insertar , y el resultado desado, con todo gusto te vamos a ayudar .
>>
>> Salu2
>> Manuel
>>
>>
>> "José Redondo" escribió en el
>> mensaje
>> news:
>> > Hola a todos.
>> >
>> > Les planteo el siguiente caso haber quién me da luz para poder generar
>> > el
>> > select que necesito y asi obtener la información que necesito.
>> >
>> > Esta información comprende el nombre de la ciudad donde se encuentra
>> > democráficamente en un país especifico.
>> >
>> > Las tablas que se encuentran en este escenario es el siguiente:
>> >
>> > 1.- Primer escenario: Paises, Estados(Departamentos, etc) ,
>> > Municipios(Distritos, etc) , Parroquías
>> > 2.- Segundo escenario: Ciudades, Codigos Postales y
>> > Urbanizaciones(Barrios,
>> > etc.)
>> >
>> > Cada uno de los escenarios planteados anteriormente se encuentran
>> > relacionados en el orden que los expuse.
>> >
>> > Ahora el asunto es que tengo la tabla Ciudades relacionandose con
>> > Estados(Departamentos, etc) y necesito obtener de un Select el nombre
>> > de
>> > la
>> > ciudad de acuerdo a un país, estado, municipio y parroquia dado. Por
>> > ejemplo,
>> >
>> > Pais: Venezuela
>> > Estado: Aragua
>> > Municipio: Girardot
>> > Parroquia: Las Delicias
>> >
>> > y al darle esos datos en el Select, me traiga el nombre de la ciudad
>> > donde
>> > de acuerdo con los parametros dados anteriormente me muestre la o las
>> > ciudades que puedan concordar al respecto, osea,
>> >
>> > Ciudad: Maracay u otras si las hay
>> >
>> > Intente con un SubQuery en el Select y nada. Realmente no hayo ya que
>> > hacer
>> > al respecto. Algún compañero del foro me podría hacer el favor de darme
>> > una
>> > plena orientación al respecto para que prontamente darle solución al
>> > mismo.
>> >
>> > Salu2 cordiales desde Venezuela,
>> >
>> > José Redondo
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida