Pregunta:
Fecha: 16-08-2017 02:42:34
(En Español)
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?
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 NULLVotos: 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 -
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 NULLVotos: 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 -
-
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 -
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
-
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 -
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
