SQL - Complicada

 
Vista:

Complicada

Publicado por Juan (40 intervenciones) el 04/10/2005 23:13:57
Hola amigos, necesito que alguien me ayude con una consulta.
LA consulta es la siguiente:
Necesito listar los nombres de las regiones y cantidades (Tel. comunicados) de un X país en donde tenga un porcentaje de comunicación del 100% y los que no tienen esta cantidad. La consulta me debe mostrar ambas cantidades. Pero yo tengo una tabla que contiene únicamente registros de las regiones que tienen 100% y necesito compararla con otra tabla la cual contiene la información total. Necesito que traiga la información de la región con la cantidad de teléfonos que se comunicaron en un 100% y los que no.
Me ayudan por favor, entienden?.
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
sin imagen de perfil

RE:Complicada

Publicado por Liliana (426 intervenciones) el 05/10/2005 17:47:17
Hola Juan,
¿Podrías pasar la estructura de las tablas (simplificada) con el resultado esperado de la consulta?
Liliana.
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

RE:Complicada

Publicado por Juan (40 intervenciones) el 05/10/2005 19:19:15
Hola Liliana, Aquí están los scripts de la tabla a utilizar, mostrando solamente los campos con lo que quiero trabajar.

TABLA 1 (Contiene todos los teléfonos)

CREATE TABLE [PHONE_COINBOX] (
[PHONE] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[COLLECT_DATE] [datetime] NOT NULL ,
[ZONE] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
) ON [PRIMARY]
GO

TABLA 2 (contiene solamente los teléfonos que tienen un 100%)

CREATE TABLE [CAJAS_LLENAS] (
[PHONE] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[ZONA] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[PORC_COLEC] [float] NULL ,
[FECHA_COLEC] [datetime] NULL ,
[FECHA] [datetime] NULL
) ON [PRIMARY]
GO

Lo que necesito es lo siguiente:

1. Contar por zona, los teléfonos que se encuentran con 100%.
2. Contar por zona, los teléfonos que tienen menos del 100%.
3. Mi restricción es con el campo fecha, en donde los querys se ejecutarán de acuerdo a la fecha que le dé y en caso de ser tarea programada con el getdate().

Espero me ayuden, gracias.
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

RE:Complicada

Publicado por Juan (40 intervenciones) el 05/10/2005 19:19:15
Hola Liliana, Aquí están los scripts de la tabla a utilizar, mostrando solamente los campos con lo que quiero trabajar.

TABLA 1 (Contiene todos los teléfonos)

CREATE TABLE [PHONE_COINBOX] (
[PHONE] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[COLLECT_DATE] [datetime] NOT NULL ,
[ZONE] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
) ON [PRIMARY]
GO

TABLA 2 (contiene solamente los teléfonos que tienen un 100%)

CREATE TABLE [CAJAS_LLENAS] (
[PHONE] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[ZONA] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[PORC_COLEC] [float] NULL ,
[FECHA_COLEC] [datetime] NULL ,
[FECHA] [datetime] NULL
) ON [PRIMARY]
GO

Lo que necesito es lo siguiente:

1. Contar por zona, los teléfonos que se encuentran con 100%.
2. Contar por zona, los teléfonos que tienen menos del 100%.
3. Mi restricción es con el campo fecha, en donde los querys se ejecutarán de acuerdo a la fecha que le dé y en caso de ser tarea programada con el getdate().

Espero me ayuden, gracias.
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
sin imagen de perfil

RE:Complicada

Publicado por Liliana (426 intervenciones) el 06/10/2005 14:52:43
SELECT Zona, [Mas de 100%] = COUNT(*)
FROM [CAJAS_LLENAS]
WHERE [FECHA_COLEC] ... (condicion)

SELECT Zona, [Menos de 100%] = COUNT(*)
FROM [PHONE_COINBOX] T1
LEFT JOIN [CAJAS_LLENAS] T2 ON T1.[PHONE] = T2.[PHONE]
WHERE T2.[PHONE] IS NULL AND T1.[COLLECT_DATE] ...(condicion)
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