SQL - Ayuda con SubConsulta

 
Vista:

Ayuda con SubConsulta

Publicado por ale (6 intervenciones) el 16/07/2004 00:20:46
Hola, Quisiera realizar este tipo de consulta.
Un ejemplo concreto seria:
Quiero saber que clientes, ingresaron entre 01/01/2004 hasta 01/05/2004 que hayan tenido importes de entre 100 a 5000 y que haya realizado entre 1 a 5 trabajos.
Las tablas (brevemente resumidas) son:

Clientes (codcliente, contacto, fechaingreso)
Clientes_mov (codcliente_mov, codcliente, importe)
Trabajos (codtrabajo, codcliente)

Se que la cantidad de trabajo se saca con un count(codtrabajo) y que el importe con un sum(importe), pero no se como relacionar las 3 tablas juntas...

Alguien me puede dar un puntapie para armar la subconsulta?
Desde ya muy agradecido
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

RE:Ayuda con SubConsulta

Publicado por Isaías Islas (5072 intervenciones) el 16/07/2004 03:53:51
Digame si funciona:

SELECT codcliente, COUNT(codcliente) AS TRABAJOS, SUM (importe) AS TOTAL
FROM CLIENTES
JOIN Clientes_mov ON CLIENTES.codcliente = Clientes_mov.codcliente
WHERE CONVERT(CHAR(10), CLIENTES.fechaingreso, 112) BETWEEN '20040101' AND '20040501'
AND SUM (importe) BETWEEN 100 AND 5000
GROUP BY codcliente
HAVING COUNT(codcliente) BETWEEN 1 AND 5
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:Ayuda con SubConsulta

Publicado por ale (6 intervenciones) el 16/07/2004 22:44:38
Hola Isaías,

Gracias por la respuesta, pero me tira un error:

An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.

Quizas no fui claro en algo, en la tabla de trabajos es donde se calcula la cantidad de trabajos de los clientes, un ejemplo:

codtrabajo 1, 2, 3
codcliente 1, 1, 2
terminado = true, false, true

Con lo cual creo que el count deberia ser COUNT(Codtrabajo)

Bueno, si tienes alguna otra idea, o si te puedo mandar un mail, bienvenido sera.
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:Ayuda con SubConsulta

Publicado por Isaías Islas (5072 intervenciones) el 17/07/2004 00:50:43
Te propongo algo, enviame el script de creacion de tablas, inserccion de algunos registros y te hago el script, ok??
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:Lo Resolvi Gracias

Publicado por ale (6 intervenciones) el 17/07/2004 01:31:22
Gracias nuevamente, al final lo resolvi utilizando subconsultas...
Contare contigo en otro momento si lo llegara a necesitar!
Muchas 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