FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
una consulta case ?
Buenas tengan... tenia un par de meses que no me conectaba y tuve que ingresar de nuevo....gracias por la bienvenida.
Tengo un problema tratando de hacer un sum(case ....) . realmente no me sale. La estructura que uso la he probado en sql server, pero en interbase no me funciona. A ver que estoy haciendo mal. el sql es el siguiente: select m.prod, a.descripcion, a.grupo, h.status, m.venta, m.falta, sum(case h.status when = '1' then m.Venta else 0 end) as Valoruno, sum(case h.status when = '3' then m.Venta else 0 end) as Valortres, sum(case h.status when = '9' then m.Venta else 0 end) as Valornueve, sum(e.cant) as entradas from movimarts m join articulos a on a.Clave = m.Prod join entradas e on (e.prod = m.prod) join movims h on (h.cheque = m.clave) where m.fecha between '09-01-2003' and '09-30-2003' group by m.prod,a.descripcion,a.grupo, h.status order by a.grupo, a.descripcion,m.prod ...si les quito los sum(case..., me funciona, pero necesito agrupar los valores seguin el h.status (char(1)). el error que me da en el sql editor es el siguiente: ERROR: Dynamic SQL Error SQL error code = -104 Token unknown - line 7, char 18 h Gracias de antemano jorge |
#2
|
||||
|
||||
la sintaxis del case es:
case when h.status = 1 then m.Venta else 0) as ValorUno -- sin end! Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Hola.
El end es correcto, el problema es que la única variante de Interbase que soporta la construcción case, es Firebird 1.5. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#4
|
|||
|
|||
Una consulta case ( ...
Gracias a Juan Antonio cantillo.., tu ayuda fue oportuna..., sin embargo probé
y no me funcionó. Al parecer tiene que ver con lo que dice Guillot Marc puesto que lo he hecho en sql y me funciona correctamente...De ser como establece GuillotMarc, quisiera darle algunos datos y el me dé algunas sugerencias ( o alguien más que pueda aportar).. Trabajo con marathon 1.5 y mi base de datos es interbase 5.5 ( Un instalador gratis que bajé hace muchos meses y me ha dado resultado).... Que tengo que hacer entonces ? Que es Firebirt ? ... Mas concreto, supongo que firebirt es una base de datos que mejora interbase o algo así. Como migro mis base de datos de interbase 5.5 a firebirts para poder utilizar las tecnicas case, entre otras ventajas... Donde puede conseguir suficiente información sobre firebirts. ? Con afecto, jorge |
#5
|
||||
|
||||
Hola.
Firebird es un proyecto Open Source, que se originó a partir de Interbase 6.0, cuando Borland decidió evolucionar Interbase como un proyecto Open Source. Borland cambió de idea, y las siguientes versiones de Interbase (la 6.5 y la 7) han vuelto a ser comerciales (de pago). Aunque Firebird ha cogido el código liberado en su dia por Borland, y ha hecho su propia evolución (gratuita) de Interbase. http://firebird.sourceforge.net Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#6
|
||||
|
||||
Para migrar la base de datos, tienes que hacer un backup de tu base de datos Interbase 5.5, después desinstalas Interbase, instalas Firebird 1.5, y restauras el Backup.
Normalmente tu aplicación debería funcionar sin ningún cambio. Para trabajar con la base de datos, te recomiendo IB-Expert en lugar de Marathon. Hay una versión gratuita de IB-Expert. http://www.hksoftware.net/download/i...4.1.1_full.exe Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#7
|
||||
|
||||
ups... siento no haberlo explicado antes. Al ver una pregunta con una clausula case, que es soportada solamente por firebird 1.5, supuse que se trataba de esta versión del motor. Veo que ya te han orientado en este aspecto. Te recomiendo usarlo.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|