Ver Mensaje Individual
  #3  
Antiguo 05-11-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No entiendo porqué utilizas CONTEXT.
¿No es más fácil utilizar un SUBSELECT?
Código SQL [-]
SELECT DISTINCT A.Codigo, A.Nombre, 
/* COALESCE para que si el subselect devuelve nulo (no existe ningún registro con esa condición), muestre un 1. */
/* FIRST 1 para que me devuelva solo un municipio si hubiera más de uno */
/* ORDER BY para que el registro que devuelva sea siempre el primero, en orden de municipio */
COALESCE(
         (SELECT FIRST 1 Municipio FROM Mesas 
          WHERE 
          CodPrv = B.CodPrv AND 
          Codigo = B.Mesa 
          ORDER BY Municipio), 1)
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 AND
/* EXISTS indica si existe al menos un registro en la tabla con esa condición */
exists((SELECT Municipio FROM Mesas WHERE CodPrv = B.CodPrv AND Codigo = B.Mesa))
/* Indico el tercer campo para ordenar, que se corresponde con el resultado del subselect */
ORDER BY 3 /*Municipio*/, A.Nombre

Última edición por duilioisola fecha: 05-11-2023 a las 22:03:38.
Responder Con Cita