Query rebuscado.... (SQL 2000)

25/02/2004 - 19:29 por Mercedes | Informe spam
Cuento con 3 Tablas
Tabla "A" es un catalogo autobuses
Tabla "B" son los gastos de los autobuses
Tabla "C" son los ingresos de los autobuses

Las 3 cuenta con campos como; Numero de Autobus, Region y
Marca
Las tablas B y C cuentan tambien con mes y año

Deseo seleccionar el catalogo los autobuses que
pertenescan a la Region 008 y Marca 02.
Compararlo con los Gastos e ingresos que pertenesca a la
Region 008, Marca 02, Mes 1, Año 2004
pero solo que me muestre los que NO estan en el catalogo.
Todo esto sin que se repita el número del autobus y que
incluya su gasto e ingreso

Ejemplo

Tabla "A"
NUM_BUS REGION MARCA
1 008 02
2 008 02
3 008 02
4 008 02
5 008 02

Tabla "B"
NBUS REGION MARCA MES AÑO GASTOS
1 008 02 1 2004 10
2 008 02 1 2004 20
7 008 02 1 2004 30
13 008 02 1 2004 40
...

Tabla "C"
NBUS REGION MARCA MES AÑO INGRESOS
4 008 02 1 2004 40
5 008 02 1 2004 50
9 008 02 1 2004 60
10 008 02 1 2004 70
7 008 02 1 2004 80
...

RESULTADO QUE QUIERO OBTENER: (ESTOS AUTOBUSES SON DE LA
MISMA REGION, MARCA, MES Y AÑO)
[Los autobuses del 1 al 5 no muestra por que estan en el
catalogo de autobuses]

NBUS GASTOS INGRESOS
7 30 80
13 40 0
9 0 60
10 0 70

NOTA: MIS TABLAS TIENE CADA UNA CERCA DE 80,000 REGISTRO Y
TIENDE A CRECER MUCHO MAS.

ME GUSTARIA HACER CONSULTAS OPTIMAS LO HE INTENTADO CON
JOIN CON IN CON EXIST Y NO ME QUEDA


GRACIAS POR SU APOYO...
 

Leer las respuestas

#1 Maximiliano D. A.
25/02/2004 - 19:38 | Informe spam
Hola!! veamos si esto te es util si?

Select tablab.autobus, sum(tablab.gaston) as gastos,ingresos.ingreso From
TablaB left join
(Select autobus,region,marca,año,sum(ingresos) ingreso From TablaC group by
autobus,region,marca,año) ingresos on
tablab.autobus = ingresos.autobus and
tablab.region = ingresos.region and
tablab.marca = ingresos.marca and
tablab.año = ingresos.año
group by tablab.autobus,ingresos.ingreso ,region,marca,año

Espero te sea util!! fijate como adaptarlo (ojo que no probe el codigo o sea
puede tener algun error de sintaxis)

Bye



Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Mercedes" escribió en el mensaje
news:16d101c3fbcd$53295130$
Cuento con 3 Tablas
Tabla "A" es un catalogo autobuses
Tabla "B" son los gastos de los autobuses
Tabla "C" son los ingresos de los autobuses

Las 3 cuenta con campos como; Numero de Autobus, Region y
Marca
Las tablas B y C cuentan tambien con mes y año

Deseo seleccionar el catalogo los autobuses que
pertenescan a la Region 008 y Marca 02.
Compararlo con los Gastos e ingresos que pertenesca a la
Region 008, Marca 02, Mes 1, Año 2004
pero solo que me muestre los que NO estan en el catalogo.
Todo esto sin que se repita el número del autobus y que
incluya su gasto e ingreso

Ejemplo

Tabla "A"
NUM_BUS REGION MARCA
1 008 02
2 008 02
3 008 02
4 008 02
5 008 02

Tabla "B"
NBUS REGION MARCA MES AÑO GASTOS
1 008 02 1 2004 10
2 008 02 1 2004 20
7 008 02 1 2004 30
13 008 02 1 2004 40
...

Tabla "C"
NBUS REGION MARCA MES AÑO INGRESOS
4 008 02 1 2004 40
5 008 02 1 2004 50
9 008 02 1 2004 60
10 008 02 1 2004 70
7 008 02 1 2004 80
...

RESULTADO QUE QUIERO OBTENER: (ESTOS AUTOBUSES SON DE LA
MISMA REGION, MARCA, MES Y AÑO)
[Los autobuses del 1 al 5 no muestra por que estan en el
catalogo de autobuses]

NBUS GASTOS INGRESOS
7 30 80
13 40 0
9 0 60
10 0 70

NOTA: MIS TABLAS TIENE CADA UNA CERCA DE 80,000 REGISTRO Y
TIENDE A CRECER MUCHO MAS.

ME GUSTARIA HACER CONSULTAS OPTIMAS LO HE INTENTADO CON
JOIN CON IN CON EXIST Y NO ME QUEDA


GRACIAS POR SU APOYO...






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004

Preguntas similares