Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-01-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Estimado Angel.Matilla, me intereso tu problema y creo que hay una opción, por supuesto no será la única ni la mejor, pero es un comienzo.
Me está ocurriendo una cosa curiosísima. Si ejecuto el código para crear el procedimiento desde SQL Manager no da ningún problema; se crea y me deja hacer el select posterior sin problema alguna. Si lo creo por código desde el proyecto me da un error de sintaxis en la línea into :proceso,:
Cita:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 15, column 10
?
No lo entiendo ¿Cuál puede ser la razón?

Última edición por Angel.Matilla fecha: 29-01-2020 a las 19:38:05.
Responder Con Cita
  #2  
Antiguo 29-01-2020
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cambia el nombre de esa variable, ponle por ejemplo vproceso, es que tienes un campo que se llama igual.
Responder Con Cita
  #3  
Antiguo 30-01-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Cambia el nombre de esa variable, ponle por ejemplo vproceso, es que tienes un campo que se llama igual.
Gracias. No es la primera vez que me dices lo mismo.
Responder Con Cita
  #4  
Antiguo 30-01-2020
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Por partes. Antes que nada gracias a todos por la ayuda prestada y pediros disculpas por las molestias.
Cita:
Empezado por fjcg02 Ver Mensaje
Quiero decir que me parece más razonable que sea algo así

FECHA Europeas, Generales,
2015 100 200
2016 50 70
2018 200 175
...

por lo tanto te tiene que faltar algún campo. Y si es así, te falta el group by.
Efectivamente hay un campo más que no he dado cuenta de poner y que también se consulta; es un campo código que sirve de clave única. Y sobre lo del group by, con este código (o similar):
Código SQL [-]
SELECT Año, 
      CASE WHEN A.Proceso = 3 THEN A.Votos2 END Europeas,
       CASE WHEN A.Proceso = 4 THEN A.Votos2 END Generales,
       CASE WHEN A.Proceso = 5 THEN A.Votos2 END Autonomicas,
       CASE WHEN A.Proceso = 6 THEN A.Votos2 END Municipales
  FROM SYSDBA122540 A
GROUP BY AÑO
el SQL da un error:
Cita:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Y es lógico porque no hay ningún campo que acumule (SUM, COUNT, etc.)
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Con un campo fecha sale así, no sé si es lo que busca:
El campo fecha sería el más lógico pero el problema es que no todos los procesos tienen lugar en el mismo año; así en España en el año 2019 han habido dos elecciones generales.
Responder Con Cita
  #5  
Antiguo 30-01-2020
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
El campo fecha sería el más lógico pero el problema es que no todos los procesos tienen lugar en el mismo año; así en España en el año 2019 han habido dos elecciones generales.
No es problema, era solo un ejemplo, las fechas pueden ser del mismo año: 20190501, 20190623, 20190625, etc.
Responder Con Cita
  #6  
Antiguo 30-01-2020
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 24
ASAPLTDA Va por buen camino
Question Posible Solucion

NO SE SI ESTO TE SIRVA, PUEDE SER LENTO SI LA TABLA ORIGEN ES MUY GRANDE

SELECT
(SELECT COUNT(*) FROM INMOV where INCODTRA = '1') ENTRADAS,
(SELECT COUNT(*) FROM INMOV where INCODTRA = '2') REUBICACION,
(SELECT COUNT(*) FROM INMOV where INCODTRA = '3') SALIDAS
FROM RDB$DATABASE

RDB$DATABASE <--- TIENE UN SOLO REGISTRO

AHORA PUEDES HACER TAMBIEN
WITH TABLA AS(
SELECT
(SELECT COUNT(*) FROM INMOV where INCODTRA = '1') ENTRADAS,
(SELECT COUNT(*) FROM INMOV where INCODTRA = '2') REUBICACION,
(SELECT COUNT(*) FROM INMOV where INCODTRA = '3') SALIDAS
FROM RDB$DATABASE)
SELECT * FROM TABLA
Responder Con Cita
  #7  
Antiguo 30-01-2020
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ASAPLTDA Ver Mensaje
NO SE SI ESTO TE SIRVA, PUEDE SER LENTO SI LA TABLA ORIGEN ES MUY GRANDE
Se ve que eres novato por aquí, escribiendo en mayúsculas y sin etiquetas de código
No te doy el enlace a la guía de estilo porque ya sabes dónde está
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Query con pivote: No termino de entenderlo Angel.Matilla Firebird e Interbase 16 17-01-2020 18:06:25
Query con pivote Angel.Matilla Firebird e Interbase 2 02-01-2020 15:58:44
Con que sigo? serfap Varios 6 12-06-2006 18:02:58
sigo con MDI pablo OOP 2 27-02-2005 17:42:15
Sigo con mis preguntitas!!! Critter Varios 1 15-12-2004 21:44:05


La franja horaria es GMT +2. Ahora son las 06:16:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi