Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta con join devolviendo un campo que no está en la consulta

Estas en el tema de consulta con join devolviendo un campo que no está en la consulta en el foro de Mysql en Foros del Web. Hola! No sé cómo resolver lo siguiente: necesito un select que elija de la tabla 1, un campo, la suma de otro, y la suma ...
  #1 (permalink)  
Antiguo 19/04/2007, 08:02
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
consulta con join devolviendo un campo que no está en la consulta

Hola! No sé cómo resolver lo siguiente:
necesito un select que elija de la tabla 1, un campo, la suma de otro, y la suma de otro mas, y relacione ese primer campo con otro de otra tabla, y que me los agrupe por otro más de la segunda tabla. Trataré de ser más gráfico:

select id_comercio, sum(importe), sum(puntaje) from compras INNER JOIN comercios ON comercios.id=compras.id_comercio where compras.fecha between '$fecha1' and '$fecha2' group by id_comercio

Me devuelve lo siguiente:
id_comercio sum(importe) sum(puntaje)
2 323.20 160
3 221.84 335
4 465577.87 2327889

cuando lo que yo quiero que me devuelva es exactamente eso, pero en vez de id_comercio, el nombre del comercio (que está en la tabla comercios y su nombre de campo es "nombre").
¿Alguna idea?
GRACIAS!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 19/04/2007, 09:10
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: consulta con join devolviendo un campo que no está en la consulta

Hola arielcasanova.

Pues por ningún lado de tu select veo que llames el "nombre", entonces creo que no te lo va a mostrar, ya al menos intentaste eso??. O a pesar de eso sigue sin mostrártelo??

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/04/2007, 14:36
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: consulta con join devolviendo un campo que no está en la consulta

Mal rayo me parta, Carlx.
En realidad, estoy seguro de que lo había intentado, pero quizá equivoqué algún caracter y por eso no funcionó la primera vez y pensé que debía hacer algo más.
Funciona, obviamente, como tú dices, poniendo:

SELECT id_comercio, sum( importe ) , sum( puntaje ) , comercios.nombre
FROM compras
INNER JOIN comercios ON comercios.id = compras.id_comercio
WHERE compras.fecha
BETWEEN '2000-01-01'
AND '2008-01-01'
GROUP BY id_comercio


GRACIAS
Me has sido de una ayuda reveladora.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 20/04/2007, 12:56
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: consulta con join devolviendo un campo que no está en la consulta

, que bueno que sòlo era eso!

Cuìdate y saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 20/04/2007, 13:27
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: consulta con join devolviendo un campo que no está en la consulta

Carxl, gracias de nuevo. Ya que te veo muy perspicaz, te desafío con este query:

http://www.forosdelweb.com/f86/desafio-query-urgente-483253/

¿Me puedes ayudar?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:45.