FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Otro sql que no sale
Saludos, tengo dos tablas con los mismo campos
tabla: ventasr vendedor fecha total tabla:ventasf vendedor fecha total necesito obtener el siguiente listado: ejemplo: Vendedor Fecha TotalR TotalF 1 01/01/05 3500 4100 2 02/01/05 0 350 3 03/01/05 5200 0 Los ceros del ejemplo los puse porque se puede dar el caso que un vendedor tenga ventas en la tabla "ventasr" pero no en la tabla "ventasf" y al reves. Espero me puedan ayudar, de antemano muchas gracias. |
#2
|
|||
|
|||
Saludos :
Es importante que indiques con q motor de Base de Datos trabajas, pero te asistire con una sentencia que podria aplicarse en SQL Server 2000, DB2 y talves en Oracle. En primer lugar, deberías partir de la tabla de vendedores para obtener el resultado q quieres : tabla: ventasr vendedor (Codigo de vendedor) fecha total tabla:ventasf vendedor (Codigo de vendedor) fecha total tabla : vendedor vendedor (codigo de vendedor) vend_nombre tonces : Espero q sirva...
__________________
Joseph Buttgembach Verde Lima - Perú Última edición por Oxa78 fecha: 08-01-2005 a las 00:19:35. Razón: Poner etiquetas SQL |
#3
|
|||
|
|||
Gracias, Utilizo Mysql, voy a probar tu sugerencia haber como me sale.
|
#4
|
|||
|
|||
No me sale me da un error de sintaxis.
|
#5
|
|||
|
|||
Q pena nunca trabaje con MySQL, seguramente no soporta la instruccion,
lo que se por ejemplo es q esta instrucción no corre en InterBase OpenSource. Lo que puedes hacer es correr esta instrucción en un ClientDataSet :
Luego Ejecutas esta instrucción SQL vacia en otro ClientDataSet :
El VENDEDOR=''ABCDSR'' No existe la idea es tener un ClientDataSet vacio, pero con la estructura necesaria para llenar los datos. Finalmente recorres el primer ClientDataSet a traves de código de Delphi, es decir en un While recorres los registros y vas totalizando segun tus condiciones. Esta operación te demandara mas pero massss trabajo, que una simple instrucción. Que pena... Espero que puedas realizarlo, parece que es el unico camino si es que tu motor SQL no soporta la instrucción. PD: En la isntruccion anterior habia un error no tenia "FROM", pero ya esta corregido.
__________________
Joseph Buttgembach Verde Lima - Perú Última edición por Oxa78 fecha: 08-01-2005 a las 00:23:14. |
#6
|
|||
|
|||
Me sigue marcando error, voy a probar poniendo menos campos de la siguiente manera:
tabla:ventasR fecha total tabla.ventasF fecha total ejemplo del resultado que quiero:
Espero me puedas o me puedan ayudar sugiriendome algun codigo sql que necesito, de antemano gracias. (utilizo mysql). |
#7
|
|||
|
|||
Hola.
Creo que tu problema se puede resolver de la siguiente forma: 1º Te creas una tabla 'tablax' con la siguiente estructura: - vendedor - fecha - totalf - totalr 2º Haces las siguientes consultas: INSERT INTO tablax SELECT vendedor,fecha,0 AS totalf,totalr FROM ventasr; INSERT INTO tablax SELECT vendedor,fecha,totalf,0 AS totalr FROM ventasf; SELECT vendedor,fecha,SUM(totalf),SUM(totalr) FROM tablax GROUP BY vendedor,fecha; Si lo que quieres es hacerlo todo en una sola sentencia --> no sé si se puede hacer, pero en el caso de que se pudiera tendrías que evaluar la rapidez. Espero que te sirva. Saludos.
__________________
TonyG |
#8
|
|||
|
|||
Saludos : La solución de Tony__G parece ser la mas adecuada, crear una tabla temporal (TablaX) es la solucion.
__________________
Joseph Buttgembach Verde Lima - Perú |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|