Ver Mensaje Individual
  #1  
Antiguo 18-06-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Error incomprensible en un query

Primero perdón por el "ladrillo" de mensaje. Con tablas en FB 2.5 tengo este query:
Código SQL [-]
SELECT A.Nombre, B.Codigo, B.Distrito, B.Seccion, B.Mesa, C.Censo, SUM(D.Votos) Votos 
  FROM Poblacion A, Mesas B, DatMes C 
  LEFT JOIN Resultados D ON C.Codigo = D.Mesa AND C.Proceso = D.Proceso 
 WHERE A.Codigo = B.Municipio 
   AND B.Codigo = C.Codigo AND C.Proceso = :Proceso 
 GROUP BY A.Nombre, B.Codigo, B.Distrito, B.Seccion, B.Mesa, C.Censo 
 ORDER BY Nombre, Distrito, Seccion, Mesa
Las tablas que emplea son estas:
1. Poblacion
Código SQL [-]
CREATE TABLE Poblacion (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL, Codigo INTEGER NOT NULL, Nombre VARCHAR(65) NOT NULL, 
Cpostal VARCHAR(10) NOT NULL, Pais VARCHAR(2) DEFAULT 'ES', CONSTRAINT PK_POBLACION PRIMARY KEY (CODPRV,CODIGO))
2. Mesas
Código SQL [-]
CREATE TABLE Mesas (CodPrv VARCHAR(3), Codigo INTEGER NOT NULL, Municipio INTEGER NOT NULL, Distrito SMALLINT NOT NULL, 
Seccion SMALLINT NOT NULL, Mesa VARCHAR(2) DEFAULT 'U' NOT NULL, Censo INTEGER, CONSTRAINT PK_MESAS PRIMARY KEY (CODPRV,CODIGO))
3. DatMes
Código SQL [-]
CREATE TABLE DatMes (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL, Codigo INTEGER NOT NULL, Proceso INTEGER NOT NULL,
Censo INTEGER DEFAULT 1 NOT NULL, CONSTRAINT PK_DATMES PRIMARY KEY (CODPRV,CODIGO,PROCESO))
4. Resultados
Código SQL [-]
CREATE TABLE Resultados (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL, Proceso INTEGER NOT NULL, Mesa INTEGER NOT NULL, 
Partido INTEGER DEFAULT 1 NOT NULL, Votos INTEGER NOT NULL, CONSTRAINT PK_RESULTADOS PRIMARY KEY (CODPRV,PROCESO,MESA,PARTIDO))
En la tabla resultados sólo hay registros con código de proceso (C.Proceso) igual a 38.

Si ejecuto el query, tanto desde la aplicación como desde IBManager asignando valores 38 ó 39 al parámetro Proceso el mismo se ejecuta; con el valor 38 me da el valor que está grabado, con valor 39 me devuelve tantas filas como debería ser pero en todas la columna Votos está a Null ya que no hay valores. Sin embargo si hago la prueba con el valor 40 me devuelve este error:
Cita:
No current record for fetch operation.

SQL Code: -508
IB Error Number: 335544348
No current record for fetch operation.

SQL Code: -508
IB Error Number: 335544348
En la tabla en la que creo que puede estar apareciendo el error (DatMes) he comprobado que hay datos para ese código 40:
Cita:
Codigo Proceso Censo
1 40 620
Responder Con Cita