![]() |
![]() |
| Paypal | 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
|
|||
|
|||
|
Así, al vuelo, creo que quedaría :
Pongo LEFT JOIN Promocion por si existe alguna venta que no tiene promoción. Así el TOTAL los es de todas las compras, tengan o no promoción. Si necesitaras que el listado salga separando promociones : Por tanto TOTAL lo será de cada promoción, excluyendo las compras hechas sin promoción. Bueno, sin poder compilarlo es todo lo que puedo hacer no te aseguro que funcione, pero los tiros van por ahí.Saludos y suerte. Última edición por fly fecha: 03-05-2005 a las 01:56:14. |
|
#2
|
|||
|
|||
|
Hola fly
Mil gracias por la ayuda... La 1º consulta funciono de maravillas !!! eres un maestro ! pero la 2º consulta me ha dado el siguiente error: SELECT CL.nombre AS Cliente, SUM(C.monto) AS Total, SUM(C.monto / P.dinero * P.puntos) AS Puntos, P.nombre AS Promo FROM Compra C INNER JOIN Cliente CL ON CL.id=C.idcliente INNER JOIN Promocion P ON P.id=C.idpromo GROUP BY CL.nombre, P.nombre ORDER BY CL.nombre Error: P.nombre AS Promo must appear before aggregate columns in the selection list [no error code] y luego la puse asi, tal cual dice el error, y funciono... SELECT P.nombre AS Promo, CL.nombre AS Cliente, SUM(C.monto) AS Total, SUM(C.monto / P.euros * P.puntos) AS Puntos FROM FACTURACION C INNER JOIN CLIENTE CL ON CL.id=C.idcliente INNER JOIN PROMOCION P ON P.id=C.idpromo GROUP BY CL.nombre, P.nombre ORDER BY CL.nombre DE MARAVILLAS !! Millon de gracias man !! |
|
#3
|
|||
|
|||
|
por cierto fly
tu usas algun constructor de consultas ? osea, alguna herramienta que te ayude ? o sabes de algo que me pueda servir para este proposito ? y que soporte consultas "complejas" de este tipo con varios join, etc. ? Solo necesito una herramienta q me ayude a construir estas sentencias SQL para no estar preguntando y preguntando y molestando ![]() |
|
#4
|
|||
|
|||
|
Nada tranquilo, no necesitas ninguna herramienta en absoluto.
Estas sentencias son "sencillas" en el fondo, y además creo que es mejor crearlas uno mismo, es cuestión de practica; al principio puede que salgan largas y poco optimizadas, pero con el tiempo se aprende a sacarle todo el partido (o por lo menos a que hagan el trabajo). Yo estoy aprendiendo a los pocos, empecé con un tuto que creo que es para tablas access y ahora a los pocos voy incorporando las novedades del fb 1.5 Si quieres algún tuto te lo puedo pasar, pero en internet hay de todos los gustos y colores. Saludos y encantado de que te sirviera. PD: No creo que molestes con tus preguntas, para eso están los foros. |
|
#5
|
|||
|
|||
|
si tienes algun tutorial bueno bueno, que me sirva para aprender un 50% de lo q sabes tu, con eso me conformo
![]() gracias master ! |
|
#6
|
|||
|
|||
|
je, je, je...
Ahora mismo en favoritos no tengo nada... Pero con algo de busqueda encontre el primero que usé y parece que es bastante conocido (disculpe el autor mi ignorancia) lo puedes descargar de aquí http://www.abcdatos.com/tutoriales/tutorial/l965.html en el está el 180% del SQL que se, no es para FB/Interbase pero va bien. Es de Claudio Casares y desde ese link podrá acceder a más tutos. Mira esto http://www.aoindustries.com/docs/int...ef/SqlRef.html Es muy completito (ya ya ni recordaba que lo tenia) No tengo más, la verdad es que cada vez que necesito algo lo busco y lo descargo, o cut-paste y pa´casa. Así que links no tengo muchos. Por último mira en la carpeta doc\sql.extensions de firebird, y verás las novedades del motor. Saludos y ánimo, no tengas prisa que esto hay que aprenderlo a los pocos. |
|
#7
|
|||
|
|||
|
hola Amigazo
![]() Gracias por las direcciones... 1º) En la consulta, cuando el sistema hace esto: SUM(C.monto / P.dinero * P.puntos) AS Puntos me da como resultado que todos los valores de PUNTOS tienen el simbolo $, como si fuera dinero, pero son puntos. Lo que hice fue cambiar el tipo de C.MONTO de currency a double y se soluciono... pero ahora: Como puedo hacer para que el valor PUNTOS me lo muestre solo con 2 decimales (en la misma consulta SQL) ... Se puede ? 2º) Por ahora, solo por ahora, no aprendi a usar ni Interbase, ni Firebird .. los he bajado y todo, etc. pero aqui en el trabajo han comprado licencia de www.nexusdb.com por lo que ahora estoy usando este para todo.. Gracias de nuevo amigo =) ![]() Última edición por hmoner fecha: 03-05-2005 a las 15:21:01. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|