ayda consulta SQL?

13/07/2005 - 11:27 por josepe | Informe spam
Tengo una consulta SQL que hacer sobre varias tablas i no se por donde
tirar:
Os explico un poco la lògica de la consulta:

Son 4 tablas:
usuarios, datos_usuarios, notas_usuarios, pedidos

Las cuatro tablas tienen en comun el campo [email_usuario]

Quiero hacer una consulta mediante joins que me saque lo siguiente:
[usuarios] que esten en [datos_usuarios] y [notas_usuarios]
hasta aqui ningun problema con joins saco los datos ok.

Pero ahora necessito que a cada registro que devuelve la consulta anterior
se añada
un campo con el número de pedidos de ese usuario.
O sea, añadir otra consulta mediante GROUP BY y COUNT.

No se como añadir o unir estas consultas o como sacar este dato...

Teneis alguna idea?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Manuel Vera
13/07/2005 - 15:45 | Informe spam
De esta forma obtienes los datos de las 3 tablas en el from y
adicionalmente, SOLO la cantidad de pedidos del usuario según el email. Si
no tiene pedidos, te devielve NULL.

select (select count(*) from pedidos_usuario where email = tab1.email)
as cantidad_de_pedidos
from tab1 ... tab2... tab3
where

Salu2
MV
Respuesta Responder a este mensaje
#2 Maxi
14/07/2005 - 01:20 | Informe spam
Hola, un simple ejemplo sin subconsultas ;-)

Select t1.campos,t2.campos,t3.campos,t4.cantidad
from t1 inner join t2 on t1.email_usuario = t2.email_usuario
inner join t3 on t1.email_usuario = t3.email_usuario
left join (select email_usuario,count(*) as cantidad from tabla pedidos
group by email_usuario) t4 on
t4.email_usuario = t1.email_usuario


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"josepe" escribió en el mensaje
news:
Tengo una consulta SQL que hacer sobre varias tablas i no se por donde
tirar:
Os explico un poco la lògica de la consulta:

Son 4 tablas:
usuarios, datos_usuarios, notas_usuarios, pedidos

Las cuatro tablas tienen en comun el campo [email_usuario]

Quiero hacer una consulta mediante joins que me saque lo siguiente:
[usuarios] que esten en [datos_usuarios] y [notas_usuarios]
hasta aqui ningun problema con joins saco los datos ok.

Pero ahora necessito que a cada registro que devuelve la consulta anterior
se añada
un campo con el número de pedidos de ese usuario.
O sea, añadir otra consulta mediante GROUP BY y COUNT.

No se como añadir o unir estas consultas o como sacar este dato...

Teneis alguna idea?

Muchas gracias.

Respuesta Responder a este mensaje
#3 Enrique Barceló
14/07/2005 - 15:58 | Informe spam
Hola,

¿esta forma de hacer subconsultas no es mucho peor en cuanto a rendimiento
se refiere?

Un saludo,

Enrique Barceló

"Maxi" escribió en el mensaje
news:
Hola, un simple ejemplo sin subconsultas ;-)

Select t1.campos,t2.campos,t3.campos,t4.cantidad
from t1 inner join t2 on t1.email_usuario = t2.email_usuario
inner join t3 on t1.email_usuario = t3.email_usuario
left join (select email_usuario,count(*) as cantidad from tabla pedidos
group by email_usuario) t4 on
t4.email_usuario = t1.email_usuario


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"josepe" escribió en el mensaje
news:
Tengo una consulta SQL que hacer sobre varias tablas i no se por donde
tirar:
Os explico un poco la lògica de la consulta:

Son 4 tablas:
usuarios, datos_usuarios, notas_usuarios, pedidos

Las cuatro tablas tienen en comun el campo [email_usuario]

Quiero hacer una consulta mediante joins que me saque lo siguiente:
[usuarios] que esten en [datos_usuarios] y [notas_usuarios]
hasta aqui ningun problema con joins saco los datos ok.

Pero ahora necessito que a cada registro que devuelve la consulta
anterior se añada
un campo con el número de pedidos de ese usuario.
O sea, añadir otra consulta mediante GROUP BY y COUNT.

No se como añadir o unir estas consultas o como sacar este dato...

Teneis alguna idea?

Muchas gracias.





Respuesta Responder a este mensaje
#4 Maxi
14/07/2005 - 17:31 | Informe spam
Hola, quien dijo que estoy usando subconsultas? no veo ninguna subconsulta
yo !!


Salu2
Maxi


"Enrique Barceló" escribió en el mensaje
news:
Hola,

¿esta forma de hacer subconsultas no es mucho peor en cuanto a rendimiento
se refiere?

Un saludo,

Enrique Barceló

"Maxi" escribió en el mensaje
news:
Hola, un simple ejemplo sin subconsultas ;-)

Select t1.campos,t2.campos,t3.campos,t4.cantidad
from t1 inner join t2 on t1.email_usuario = t2.email_usuario
inner join t3 on t1.email_usuario = t3.email_usuario
left join (select email_usuario,count(*) as cantidad from tabla pedidos
group by email_usuario) t4 on
t4.email_usuario = t1.email_usuario


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"josepe" escribió en el mensaje
news:
Tengo una consulta SQL que hacer sobre varias tablas i no se por donde
tirar:
Os explico un poco la lògica de la consulta:

Son 4 tablas:
usuarios, datos_usuarios, notas_usuarios, pedidos

Las cuatro tablas tienen en comun el campo [email_usuario]

Quiero hacer una consulta mediante joins que me saque lo siguiente:
[usuarios] que esten en [datos_usuarios] y [notas_usuarios]
hasta aqui ningun problema con joins saco los datos ok.

Pero ahora necessito que a cada registro que devuelve la consulta
anterior se añada
un campo con el número de pedidos de ese usuario.
O sea, añadir otra consulta mediante GROUP BY y COUNT.

No se como añadir o unir estas consultas o como sacar este dato...

Teneis alguna idea?

Muchas gracias.









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