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

consulta sql

Estas en el tema de consulta sql en el foro de Bases de Datos General en Foros del Web. buenas necesito mostrar con el codigo del nombre dee una tabla consultar a otra tabla su sfacturas y mostrarlas asu costado un count de sus ...
  #1 (permalink)  
Antiguo 12/03/2011, 10:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 9
consulta sql

buenas necesito
mostrar con el codigo del nombre dee una tabla consultar a otra tabla su sfacturas
y mostrarlas asu

costado un count de sus facturas para mostrar
asi y tambien debo usar un group by por nombre
alguien sabe como lograrlo_ muchas gracia s

nombre nro factura
eduardo 3
jose 2
  #2 (permalink)  
Antiguo 12/03/2011, 11:04
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: consulta sql

No estoy seguro de haberte entendido bien. Pero a ver si te sirve:

persona
id_per int(1) AUTO_INCREMENT,
nombre VARCHAR(10)

factura
id_factura int(2) AUTO_INCREMENT,
id_per2 int(1)

SELECT nombre, COUNT(id_factura),id_per,id_per2 FROM persona,factura WHERE id_per=id_per2 GROUP BY nombre;

Corrijanme si estoy mal, pero es una idea.
  #3 (permalink)  
Antiguo 12/03/2011, 11:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 9
Respuesta: consulta sql

flata los inner join
  #4 (permalink)  
Antiguo 12/03/2011, 11:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consulta sql

En ese contexto, la coma no funciona porque los campos de Id tienen diferente nombre y generaría un producto cartesiano. Debe usarse INNER JOIN y de todos modos es mejor si la PK de Persona y la FK de Facturas tienen el mismo nombre:
Código MySQL:
Ver original
  1.     id_per,
  2.     nombre,
  3.     COUNT(id_factura) cantFcturas
  4. FROM persona P INNER JOIN factura F ON P.id_per = F.id_per
  5. GROUP BY nombre;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql, bases-de-datos
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 07:25.