elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Duda en mysql!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en mysql!  (Leído 2,492 veces)
HaX991

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Duda en mysql!
« en: 12 Noviembre 2011, 14:25 »

Hola a todos

bueno llevo todo el dia con esto y no me sale haber si alguien me puede ayudar un poco. Tengo 3 tablas en una base de datos una llamada libros donde aparece el nombre del libro y el importe en euros, luego tengo otra donde estan los clientes o compradores donde aparece el nombre del cliente, su direccion... y por ultimo otra que se llama compras donde aparece el id del libro comprado y el id del cliente. (esos ids son consecutivos y use auto_incremente...)

Bueno necesito en UNA sola consulta obtener el nombre de los clientes que han comprado al menos un libro y el numero total de libros comprados ordenados decrecientemente por el numero total de libros comprados.

muchas gracias!!
saludos!!


En línea

fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: Duda en mysql!
« Respuesta #1 en: 12 Noviembre 2011, 15:08 »

Si llevas todo el día con eso algo tendrás hecho. Postealo.


En línea

HaX991

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Duda en mysql!
« Respuesta #2 en: 12 Noviembre 2011, 15:12 »

tengo muchas consultas hechas la que mas se acerca es esta

Código:
SELECT `compradores`.`nombre` FROM `compradores`, `compras` WHERE `compras`.`id_comprador` = `compradores`.`registro`

registro y id_comprador = INT(9) UNSIGNED AUTO_INCREMENT ( el id de cada cliente y compra )

solo me salta que me muestre el numero de libros que cada cliente compro.. ( porque lo de ordenarlos y eso se como es )

saludos!
« Última modificación: 12 Noviembre 2011, 15:16 por HaX991 » En línea

fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: Duda en mysql!
« Respuesta #3 en: 12 Noviembre 2011, 17:05 »

Si el id_comprador de la tabla compradores es registro solo te falta agrupar, contar y ordenador.

¿Tienes claro el uso del agrupamiento? Lo tienes casi hecho
En línea

HaX991

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Duda en mysql!
« Respuesta #4 en: 12 Noviembre 2011, 17:21 »

hola
pues lo de agrupar si puedes expicamelo porque no me sale al agruparlos me sale un unico registro con todo unido es decir me sale en lugar de los 8 clientes que puse de prueba me sale uno solo con el total al lado asi

comprador | total de libros

lo que quiero es que salga asi

comprador 1 | libros comprados
comprador 2 | libros comprados ..
...

que me salga los libros de cada comprador las tablas son estas
Código
  1. CREATE TABLE IF NOT EXISTS `libros` (
  2. `registro` INT(9) UNSIGNED AUTO_INCREMENT,
  3. `titulo` VARCHAR(35),
  4. `escritor` VARCHAR(35),
  5. `editorial` VARCHAR(20),
  6. `soporte` SET('LIBRO', 'CD', 'DVD'),
  7. `fecha` DATETIME,
  8. `pais` VARCHAR(20),
  9. `importe_euros` FLOAT(8,3),
  10. `anotaciones` BLOB,
  11. PRIMARY KEY (`registro`, `titulo`, `pais`),
  12. UNIQUE (`registro`)
  13. );
  14.  
  15. CREATE TABLE IF NOT EXISTS `compradores` (
  16. `registro` INT(9) UNSIGNED AUTO_INCREMENT,
  17. `nombre` VARCHAR(35),
  18. `fecha_nacimiento` DATETIME,
  19. `telefono` VARCHAR(10),
  20. `domicilio` VARCHAR(35),
  21. `poblacion` VARCHAR(25),
  22. `anotaciones` TEXT,
  23. PRIMARY KEY (`registro`, `nombre`),
  24. UNIQUE (`registro`)
  25. );
  26.  
  27. CREATE TABLE IF NOT EXISTS `compras` (
  28. `registro` INT(9) UNSIGNED AUTO_INCREMENT,
  29. `id_comprador` INT(9) UNSIGNED,
  30. `id_libro` INT(9) UNSIGNED,
  31. PRIMARY KEY (`registro`),
  32. UNIQUE (`registro`)
  33. );
  34.  

muchas gracias!!
En línea

HaX991

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Duda en mysql!
« Respuesta #5 en: 12 Noviembre 2011, 17:55 »

Hola

bueno ya me las arregle yo

hice esto

Código
  1. /*Obtenemos el nombre de los compradores que han comprado al menos un libro, el numero de libros comprados ordenados decrecientemente por el numero
  2. total de libros comprados*/
  3. SELECT `compradores`.`nombre`, COUNT(*) FROM `compradores`, `compras` WHERE `compras`.`id_comprador` = `compradores`.`registro` GROUP BY `compradores`.`nombre` ORDER BY COUNT(*) DESC;
  4.  

y me da como resultado:

ramon    2
will            2
pablo    1
sergio    1
leito      1
antonio    1

justo lo que queria

gracias de todas formas!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda php y mysql « 1 2 »
PHP
[KMT] 12 2,805 Último mensaje 23 Diciembre 2006, 23:53
por .Carlos
Duda mysql
PHP
[KMT] 3 1,478 Último mensaje 10 Abril 2007, 17:51
por Ertai
Duda MySQL
PHP
NaSaRiD15 5 1,558 Último mensaje 1 Septiembre 2008, 01:41
por cassiani
Duda con mysql.
PHP
NaSaRiD15 3 1,412 Último mensaje 27 Septiembre 2008, 07:28
por cassiani
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines