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

Consulta sin resultados...

Estas en el tema de Consulta sin resultados... en el foro de Mysql en Foros del Web. Estimados, espero que anden bien... Estoy haciendo esta query que es de una tabla de pedidos que se van generando desde un catalogo, quiero unir ...
  #1 (permalink)  
Antiguo 06/07/2011, 07:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Consulta sin resultados...

Estimados, espero que anden bien...

Estoy haciendo esta query que es de una tabla de pedidos que se van generando desde un catalogo, quiero unir diferentes tablas para que me de el listado de productos y no me da resultados, tampoco errores, les digo mas o menos como son las tablas:

Tabla productos:
id, nombre, marca (int), imagen01,

Tabla compras:
id, .id_cliente, id_producto, precio, cantidad, activo

La query:
SELECT apv_productos.id, apv_productos.nombre, apv_productos.marca, apv_productos.imagen01,
apv_compras.id_producto, apv_compras.precio, apv_compras.cantidad
FROM apv_productos
INNER JOIN apv_compras ON (apv_compras.id_producto = apv_productos.id )
WHERE apv_compras.id_cliente = 17 AND apv_compras.activo = 1

El id del cliente 17 es uno existente dentro de mis clientes, pero ahi seria una variable en PHP.

El resultado que necesito es que partiendo de los productos que estan cargados en la tabla compras, usando el id_producto, me traiga los datos de la tabla productos... con la consulta que puse aca me trae la tabla vacia, no hay errores.

Bueno, agradeceré mucho cualquier sugerencia.
Saludos,
Gustavo.
  #2 (permalink)  
Antiguo 06/07/2011, 08:18
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta sin resultados...

Hola gus_anomaly:

La consulta parece bien planteada, aquí el problema puede ser con PHP o con los datos. Si ejecutas la consulta directamente en MySQL ¿tampoco te regresa registros? si es así entonces estaríamos hablando de un problema de datos, porque la consulta ser correcta, poniendo algunos datos de ejemplo tenemos lo siguiente:

Código MySQL:
Ver original
  1. mysql> create table apv_productos (id int, nombre varchar(10), marca int,
  2.     -> imagen01 varchar(10));
  3. Query OK, 0 rows affected (0.06 sec)
  4.  
  5. mysql> insert into apv_productos values (1, 'producto 1', 1, 'imagen 1'),
  6.     -> (2, 'producto 2', 1, 'imagen 2'), (3, 'producto 3', 1, 'imagen 3'),
  7.     -> (4, 'producto 4', 2, 'imagen 4'), (5, 'producto 5', 2, 'imagen 5');
  8. Query OK, 5 rows affected (0.02 sec)
  9. Records: 5  Duplicates: 0  Warnings: 0
  10.  
  11. mysql> select * from apv_productos;
  12. +------+------------+-------+----------+
  13. | id   | nombre     | marca | imagen01 |
  14. +------+------------+-------+----------+
  15. |    1 | producto 1 |     1 | imagen 1 |
  16. |    2 | producto 2 |     1 | imagen 2 |
  17. |    3 | producto 3 |     1 | imagen 3 |
  18. |    4 | producto 4 |     2 | imagen 4 |
  19. |    5 | producto 5 |     2 | imagen 5 |
  20. +------+------------+-------+----------+
  21. 5 rows in set (0.00 sec)
  22.  
  23. mysql> create table apv_compras (id int, id_cliente int, id_producto int,
  24.     -> precio int, cantidad int, activo bool);
  25. Query OK, 0 rows affected (0.17 sec)
  26.  
  27. mysql> insert into apv_compras values (1, 17, 1, 10, 1, 1),
  28.     -> (2, 17, 2, 10, 2, 1), (2, 16, 3, 10, 3, 1),
  29.     -> (2, 18, 1, 10, 4, 1), (2, 17, 5, 10, 9, 0),
  30.     -> (2, 19, 4, 10, 7, 1);
  31. Query OK, 6 rows affected (0.03 sec)
  32. Records: 6  Duplicates: 0  Warnings: 0
  33.  
  34. mysql> select * from apv_compras;
  35. +------+------------+-------------+--------+----------+--------+
  36. | id   | id_cliente | id_producto | precio | cantidad | activo |
  37. +------+------------+-------------+--------+----------+--------+
  38. |    1 |         17 |           1 |     10 |        1 |      1 |
  39. |    2 |         17 |           2 |     10 |        2 |      1 |
  40. |    2 |         16 |           3 |     10 |        3 |      1 |
  41. |    2 |         18 |           1 |     10 |        4 |      1 |
  42. |    2 |         17 |           5 |     10 |        9 |      0 |
  43. |    2 |         19 |           4 |     10 |        7 |      1 |
  44. +------+------------+-------------+--------+----------+--------+
  45. 6 rows in set (0.00 sec)
  46.  
  47. mysql> SELECT apv_productos.id, apv_productos.nombre, apv_productos.marca,
  48.     -> apv_productos.imagen01, apv_compras.id_producto, apv_compras.precio,
  49.     -> apv_compras.cantidad
  50.     -> FROM apv_productos
  51.     -> INNER JOIN apv_compras ON (apv_compras.id_producto = apv_productos.id)
  52.     -> WHERE apv_compras.id_cliente = 17 AND apv_compras.activo = 1;
  53. +------+------------+-------+----------+-------------+--------+----------+
  54. | id   | nombre     | marca | imagen01 | id_producto | precio | cantidad |
  55. +------+------------+-------+----------+-------------+--------+----------+
  56. |    1 | producto 1 |     1 | imagen 1 |           1 |     10 |        1 |
  57. |    2 | producto 2 |     1 | imagen 2 |           2 |     10 |        2 |
  58. +------+------------+-------+----------+-------------+--------+----------+
  59. 2 rows in set (0.00 sec)

Si observas las compras del cliente 17 también aparece el producto 5, pero esta no se lista porque aparece con el campo activo = 0... Igual y sería conveniente que nos pusieras algunos datos de ejemplo para hacer pruebas...

Ahora bien, el problema también puede estar en la parte de PHP y cómo estás haciendo tu consulta, lamentablemente no tengo experiencia con este lenguaje, pero te recuerdo que hay un foro exclusivo para PHP donde podrían ayudarte.

Saludos
Leo.
  #3 (permalink)  
Antiguo 06/07/2011, 08:32
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Consulta sin resultados...

Leo, muchisimas gracias...

La consulta la estoy haciendo directo en MySQL, todavia no pasó por PHP... la hago desde el SQLyog y no tengo errores pero tampoco regresa registros.

Eso es lo que me deja descolocado ya que al no tener errores no se por donde encararlo.
Ahora veo que a vos te funciona... cosa que lo hace mas extraño!

Cualquier otra sugerencia lo agradeceré muchisimo. Las tablas no presentan mayor complejidad.

Gracias!
Gustavo.
  #4 (permalink)  
Antiguo 06/07/2011, 08:49
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, 4 meses
Puntos: 2658
Respuesta: Consulta sin resultados...

Sugerencia: Instala el MySQL Workbench y usalo para las pruebas de consultas.
Muchas interfases suelen alterar algunos detalles de las sentencias que escribes antes de enviarlas a MySQL, mientras que MySQL Workbench, como es nativo, las envía de otro modo más directo y sin "traducciones".
Es más eficiente y preciso en los resultados, pero no te olvides que no es una aplicación para programar PHP, o para webs. Es una aplicación de escritorio.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/07/2011, 09:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Consulta sin resultados...

Descargando mi estimado, mas allá de mi problema tomaré en cuenta su sugerencia.

Saludos,
Gustavo.
  #6 (permalink)  
Antiguo 06/07/2011, 14:15
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta sin resultados...

Hola de nuevo gus_anomaly:

A reservas de que hagas la prueba que te comenta gnzsoloyo con MySQL Workbench no creo que SQLYog sea al problema... en lo particular tengo poco más de dos años trabajando con SQLYog en la versión Community sin ningún problema... me inclino más a que sea algo con las estructuras de las tablas o con los datos... igual y sería conveniente que nos pongas el script de creación de tus tablas y de ser posible los datos, o por lo menos una parte de ellos.

Saludos
Leo.
  #7 (permalink)  
Antiguo 06/07/2011, 14:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Consulta sin resultados...

Leo, muchas gracias por tu interes, subir la base no puedo porque no es mia, la estoy administrando con PHP, te pido mil disculpas por esto.

No obstante encontré algunos datos inconsistentes donde me podria estar dando problemas... me puse a revisar registro por registro.

Saludos y gracias!
Gustavo.

Etiquetas: php, query, select, tabla, tablas
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 11:15.