
Select a dos tablas
Publicado por JimGod (3 intervenciones) el 24/09/2008 17:55:02
Tengo una duda y por ende el problema..
tengo dos tablas... con campos similares. y quiero una consulta q me arroje como resultado
la suma de cada columna por separado....
tabla chques
proveedor importe iva total
1 100 15 115
1 50 7.5 57.5
1 200 30 230
total 350 52.5 402.5
tabla efectivo
proveedor importe iva total
1 100 15 115
total 100 15 115
supongamos q tengo esas tablas y esos valores
al hacer mi consulta por inner join, cuando el proveedor sea = en las dos tablas, en las primeras tres columnas si me hace la suma correcta(de la de chques) pero en la de efectivo me sale como si tuviera 3 veces el mismo valor...porque?? ya le intente y no me sale, por eso recurri a este foro ojala me puedan ayudar...
los datos resultantes me salen asi
tabla chques
proveedor importe iva total
1 100 15 115
1 50 7.5 57.5
1 200 30 230
total 350 52.5 402.5
tabla efectivo
proveedor importe iva total
1 100 15 115
1 100 15 115
1 100 15 115
total 300 45 345
cuando solo en efectivo tengo un dato con 100.
ojala me puedan ayudar... esta es mi sentencia:
sel = "select chques.importe AS IMPORTE1,chques.iva AS IVA1,chques.total AS TOTAL1" +
",efectivo.importe AS IMPORTE2,efectivo.iva AS IVA2,efectivo.total AS TOTAL2" +
" from chques INNER JOIN efectivo ON chques.clav_pro = efectivo.clav_pro where chques.fecha_in>=#" + finicio + "# AND chques.fecha_in<=#" + ffin + "#"
intente tambien esta:
sel = "select SUM(chques.importe) AS IMPORTE1,SUM(chques.iva) AS IVA1,SUM(chques.total) AS TOTAL1"+
",SUM(efectivo.importe) AS IMPORTE2,SUM(efectivo.iva) AS IVA2,SUM(efectivo.total) AS TOTAL2"+
" from chques,efectivo where chques.clav_pro=(SELECT clav_pro from proveed where nombre='" + nombre + "')"+
"AND fecha_in>=#" + finicio + "# AND fecha_in<=#" + ffin + "#"
pero me arrojan el mismo resultado.
tengo dos tablas... con campos similares. y quiero una consulta q me arroje como resultado
la suma de cada columna por separado....
tabla chques
proveedor importe iva total
1 100 15 115
1 50 7.5 57.5
1 200 30 230
total 350 52.5 402.5
tabla efectivo
proveedor importe iva total
1 100 15 115
total 100 15 115
supongamos q tengo esas tablas y esos valores
al hacer mi consulta por inner join, cuando el proveedor sea = en las dos tablas, en las primeras tres columnas si me hace la suma correcta(de la de chques) pero en la de efectivo me sale como si tuviera 3 veces el mismo valor...porque?? ya le intente y no me sale, por eso recurri a este foro ojala me puedan ayudar...
los datos resultantes me salen asi
tabla chques
proveedor importe iva total
1 100 15 115
1 50 7.5 57.5
1 200 30 230
total 350 52.5 402.5
tabla efectivo
proveedor importe iva total
1 100 15 115
1 100 15 115
1 100 15 115
total 300 45 345
cuando solo en efectivo tengo un dato con 100.
ojala me puedan ayudar... esta es mi sentencia:
sel = "select chques.importe AS IMPORTE1,chques.iva AS IVA1,chques.total AS TOTAL1" +
",efectivo.importe AS IMPORTE2,efectivo.iva AS IVA2,efectivo.total AS TOTAL2" +
" from chques INNER JOIN efectivo ON chques.clav_pro = efectivo.clav_pro where chques.fecha_in>=#" + finicio + "# AND chques.fecha_in<=#" + ffin + "#"
intente tambien esta:
sel = "select SUM(chques.importe) AS IMPORTE1,SUM(chques.iva) AS IVA1,SUM(chques.total) AS TOTAL1"+
",SUM(efectivo.importe) AS IMPORTE2,SUM(efectivo.iva) AS IVA2,SUM(efectivo.total) AS TOTAL2"+
" from chques,efectivo where chques.clav_pro=(SELECT clav_pro from proveed where nombre='" + nombre + "')"+
"AND fecha_in>=#" + finicio + "# AND fecha_in<=#" + ffin + "#"
pero me arrojan el mismo resultado.
Valora esta pregunta


0