Angel.Matilla
04-11-2023, 11:38:33
Para el mismo mi query de mi pregunta anterior (¿Por qué no usa el índice? (https://www.clubdelphi.com/foros/showthread.php?t=96469))
SELECT DISTINCT A.Codigo, A.Nombre, COALESCE(RDB$GET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO'), 1) Municipio,
RDB$SET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO',
(SELECT DISTINCT COALESCE(Municipio, 1) FROM Mesas WHERE CodPrv = B.CodPrv AND Codigo = B.Mesa))
FROM Partidos A
LEFT JOIN Resultados B ON A.CodPrv = B.CodPrv AND A.Codigo = B.Partido AND B.Proceso = :Proceso
WHERE A.CodPrv = :PrvIns AND A.Codigo > 0
ORDER BY Municipio, A.Nombre
me da, por ejemplo, este resultado:
https://i.ibb.co/StWNDWZ/Query.jpg
El valor de la columna Municipio igual a 1 significa población desconocida; ¿cómo puedo evitar que se muestren esos valores? He probado con esta condición:
AND COALESCE(RDB$GET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO'), 1) > 1
y me devuelve un query vacío. Y si uso
AND Municipio > 1
me dice que la columna Municipio es desconocida.
SELECT DISTINCT A.Codigo, A.Nombre, COALESCE(RDB$GET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO'), 1) Municipio,
RDB$SET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO',
(SELECT DISTINCT COALESCE(Municipio, 1) FROM Mesas WHERE CodPrv = B.CodPrv AND Codigo = B.Mesa))
FROM Partidos A
LEFT JOIN Resultados B ON A.CodPrv = B.CodPrv AND A.Codigo = B.Partido AND B.Proceso = :Proceso
WHERE A.CodPrv = :PrvIns AND A.Codigo > 0
ORDER BY Municipio, A.Nombre
me da, por ejemplo, este resultado:
https://i.ibb.co/StWNDWZ/Query.jpg
El valor de la columna Municipio igual a 1 significa población desconocida; ¿cómo puedo evitar que se muestren esos valores? He probado con esta condición:
AND COALESCE(RDB$GET_CONTEXT('USER_TRANSACTION', 'MUNICIPIO'), 1) > 1
y me devuelve un query vacío. Y si uso
AND Municipio > 1
me dice que la columna Municipio es desconocida.