Nueva pregunta

Pregunta:

 
  0  
 
Fecha: 16-08-2017 02:42:34 (En Español)

MySQL: duda con consulta y resultados de QUERY SQL[Resuelta]

Hola compañer@s,
de nuevo por aquí con una duda en MySQL, tengo una consulta que ataca a 2 tablas, en una tabla solo tengo el precio un solo registro y de la otra saco el resto de resultados, y hay 2 registros, pero al hacer el WHILE con php es como si solo me diera una sola línea, y necesito ver las 2. Igual es porque he usado SUM, que el resultado es correcto pero si me da solo una columna no puedo recorrer resultados y no me sirve.

¿Qué hago mal?
SELECT
	fm.*, o.price AS total, 
	SUM(quantity) AS totalEntregado,
	(o.price) - (SUM(quantity)) AS saldo  
FROM front_money fm, orders o 
WHERE 
	fm.order_id = 166 AND 
	fm.contact_id = 37457 AND 
	fm.order_id = o.id AND 
	validated_at IS NOT NULL 
	AND validated_by IS NOT NULL
Etiquetas: Base de Datos - MySQL - Pregunta - Query - SQL Votos: 0 - Respuestas: 14 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 16-08-2017 05:00:43 debes ser especifico en los campos de la tabla 1 que quieres de retorno..

    Select fm.campo1, fm.campo2, fm.campo3, o.price as total, etc...
      Votos: 0 - Link respuesta
     
  •  
      0  
     
    Fecha: 16-08-2017 22:08:18 Gracias por tu respuesta Luís, lo he hecho así y me ocurre lo mismo, solo me devuelve una línea :(   Votos: 0 - Link respuesta
     
  • Fecha: 17-08-2017 05:34:10 Buen día, seria buena idea que nos dejaras la estructura de tus tablas para poder armar el query y como consejo empieza a hacer tus querys con JOINS y dejar de lado el producto cartesiano. Prueba con lo siguiente

     SELECT
     	fm.*, o.price AS total, 
        SUM(quantity) AS totalEntregado,
        (o.price) - (SUM(quantity)) AS saldo  
     FROM front_money fm
     JOIN orders o ON (fm.order_id = o.id)
     WHERE 
        fm.order_id = 166 AND 
        fm.contact_id = 37457 AND 
        validated_at IS NOT NULL 
        AND validated_by IS NOT NULL
    
      Votos: 1 - Link respuesta
     
  • Fecha: 19-08-2017 06:35:29 A lo que veo, te está dando un resultado porque estás limitandolo con el AND y al parecer usas id y un id no se puede repetir 2 veces por lo tanto en tu consulta te dará 1 sólo resultado porque sólo existirá una sola coincidencia en tu base de datos   Votos: 1 - Link respuesta
     
  • Fecha: 21-08-2017 11:01:06 Puedes hacer un fiddle?

    Eso nos permitiría ayudarte mejor
      Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 21-08-2017 21:27:57 No se usar Fiddle Ernesto :(   Votos: 0 - Link respuesta
     
  • Fecha: 22-08-2017 13:10:52 1. Entra a la liga
    2. En el panel izquierdo ingresas el DDL y DML si es necesario
    3. Presionas el botón que dice 'Build Schema'
    4. Con el schema arriba vas al panel de la derecha e ingresas alguna sentencial DQL
    5. Presionas el botón que dice 'Run SQL'
    6. Ves los resultados en la parte de abajo.
    7. Copias la URL y la pegas para compartir.

    Te paso un fiddle de ejemplo:

    http://sqlfiddle.com/#!9/3775b2/1

    De esa manera podemos ayudarte más rápido.
      Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 22-08-2017 22:04:34 Muchas gracias Ernesto por la aclaración.

    Este es el Fiddle

    http://sqlfiddle.com/#!9/ca8787/1
      Votos: 0 - Link respuesta
     
  • Fecha: 23-08-2017 04:57:20 Que tal Fran, vi tu query y creo que es por el SUM y es una función de agrupamiento, te dejé un query con SUM comentado y te retorna mas registros espero puedas revisarlo y a ver si te ayudé un poco.   Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 23-08-2017 05:23:48 Hola Rubén, muchas gracias por le respuesta.

    Donde me dejaste la query?

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 23-08-2017 05:33:38 Ruben,
    si modificaste el query se genera un fiddle diferente, ergo es una URL diferente.
      Votos: 1 - Link respuesta
     
  • Fecha: 23-08-2017 05:50:32 Fran,
    Podrías poner aquí qué es lo que esperas como resultado?

    Una descripción y ejemplo serían perfectos.

    Algo así:

    id|contact_id|order_id|payment_method|quantity|status|delete_reason|created_at|updated_at|created_by|updated_by|validated_at|validated_by|total  |totalEntregado|saldo
    2 |37457     |2       |5             |234     |1     |(null)       |2147483647|0         |46        |0         |2147483647  |18          |1250.6 |364           |886.6
    
      Votos: 1 - Link respuesta
     
  • Fecha: 23-08-2017 06:56:43 Oh cierto por cierto que buena herramienta Ernesto

    http://sqlfiddle.com/#!9/ca8787/22

    solo comente los SUM ya que es una función que agrupa por eso no te salen varios resultados
      Votos: 1 - Link respuesta
     
  •  
      0  
     
    Fecha: 23-08-2017 21:15:02 Muchísimas gracias Ernesto, lo que espero de la query es exactamente lo que muestra la URL de Rubén,(muchas gracias Rubén) pero con los SUM...

    Entonces Rubén, entiendo que no es posible una query como la que pido?, yo quiero lo que muestra la SQL que has modificado pero a la ves quiero las Sumas, o tendría que hacerlo con PHP, (que es lo que he hecho jejeje)

    Ya me dices si hay alguna alternativa.

    Saludos
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com