Comunidad de diseño web y desarrollo en internet online

Obtener SALDO entre DOS TABLAS en UNA sentencia SQL (PHP, MYSQL)

Citar            
MensajeEscrito el 17 May 2012 07:59 pm
* Busqué en la web y no conseguí dar con un resultado concreto
* Solo sé sobre consultas básicos en MySQL
* Me gustaría que el resultado sea devuelta en UNA SENTENCIA SQL

Tengo la tabla1 de la siguiente forma:

Código :

id_t1 | cobro | [...]
2 | 280.00
3 | 50.00
4 | 00.00


... y la tabla2:

Código :

id_t2 | id_t1 | cantidad | precio_unitario | [...]
1 | 3 | 1.00 | 50.00
2 | 4 | 1.00 | 200.00
3 | 2 | 1.00 | 300.00
4 | 2 | 2.00 | 100.00
5 | 2 | 1.00 | 80.00



De ésto, necesito obtener el siguiente resultado:

Código :

saldo = (precio_unitario * cantidad) - cobro


Pruebas SQL y resultados: http://pastebin.com/uM6R5MqY

En la 4ta prueba pude obtener un acercamiento bastante acertado, lo que necesitaría de ello es poder obtener el SALDO que se haría restando las ventas de los cobros. Pero no consigo dar con el resultado final que sería UNA columna con el SALDO final.

Por ahora tendré que conformarme con la resta de las dos columnas devueltas por el 4to intento.

Espero haber sido claro. Aguardo ayudas.

Gracias.

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

chrome
Citar            
MensajeEscrito el 17 May 2012 08:26 pm

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

chrome
Citar            
MensajeEscrito el 17 May 2012 11:42 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

chrome
Citar            
MensajeEscrito el 18 May 2012 02:02 am
Buena explicación sobre el uso de los JOIN, pero en ese caso no me sirvió la solución allí brindada (ver casos #3.1 y #3.2 del pastebin que publiqué).

Gracias de igual manera por compartir el enlace.

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

chrome
Citar            
MensajeEscrito el 18 May 2012 05:38 am
En esos ejemplos estabas mas cerca de una buena solucion, sucede que usaste SUM
SUM es una funcion que se usa para sumar valores agrupados (GROUP BY)

la solucion 7 la veo demasiado compleja, ademas de joder hacerla y entenderla por tanto poder darle mantenimiento, de seguro debe ser menos optima en cuanto a rendimiento

arreglando la 3.2

Código MySQL :

SELECT 
    (( t2.precio_unitario * t2.cantidad ) - t1.cobro )  saldo
FROM  `tabla1`  t1
    INNER JOIN  `tabla2`   t2 // ¿donde enlazabas las tablas?
        ON t1.id_t1 = t2.id_t1


consejo, lee bien el tutorial ;)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.