Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2007, 10:58
GsutavoDeLanus
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 16 años, 4 meses
Puntos: 1
Consulta SQL Imposible?? Son solo 3 campos pero ya no se que hacer

Hola a todos, este es mi primer mensaje. Me registré acá porque cada vez que buscaba por google alguna pregunta avanzada terminaba llendo a algún treadh de este foro. Se ve que hay gente que sabe por acá! Espero puedan ayudarme


Tengo estas 2 tablas

TABLA 1 (Puntos)
Nombre

TABLA 2 (Compras)
Nombre
Cantidad

La primeras 2 consultas me andan bien
Código PHP:
 Por ejemplo cuantas veces aparece GustavoCarlilloetc
$sql 
"SELECT Nombre,COUNT(*) as Total_puntos FROM Puntos GROUP BY Nombre ORDER BY Total_puntos DESC";

$sql_compras "SELECT Nombre,SUM(Cantidad) as Total_cantidad FROM Compras GROUP BY Nombre"
Pero ahora necesito una 3er consulta algo mas complicada

Necesito mostrar los campos:

TABLA 3:
Nombre
Total_puntos
Total_cantidad

Lo que no se hacer es integrar las 2 consultas anteriores en una sola.
Osea, Necesito que la consuta:

Agrupe el Campo Nombre de la TABLA1.
Cuente (COUNT(Tabla1.Nombre)) cuantas veces aparece cada Nombre en Tabla 1 y los guarde (AS) en un campo, por ejemplo Total_Puntos, osea 1 punto por cada vez que estaba el Nombre en la TABLA 1.
A la vez la consulta debe agrupar de la TABLA 2 por el campo Nombre. Pero esta vez sumar para cada nombre el campo Cantidad (SUM(Tabla2.Cantidad)) y guardarlo en un campo nuevo llamado Total_Compras

Osea,tiene que contar en la tabla 1 y sumar en la tabla 2 y alinear por el campo Nombre.

Voy con los ejemplos:

TABLA1 (Puntos)
Nombre

Gustavo
Carlillo
Gustavo
Juancete
Gustavo
Juancete


TABLA 2 (Compras)
Nombre - Cantidad

Gustavo ----- 20
Gustavo ------ 5
Juancete ----- 30
Carlillo -------- 5
Juancete ------ 2

La 3er consulta me debe mostrar esto:

TABLA 3
Nombre - Total Putos - Total Compras
Gustavo ------ 3 ------------ 25
Juancete ----- 2 ------------ 32
Carlillo ------- 1 ------------- 5

Si puede ser ordenado por Total_Puntos, jej espero no pedir demasiado


Saludos, espero que me entiendan.


Muchas gracias!