Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2007, 08:43
Avatar de Expinete
Expinete
 
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 20 años, 6 meses
Puntos: 3
Sumar campos booleanos

Hola a tod@s, vengo en busca de la sabiduría de los expertos de este foro...
os explico, he heredado una select ... en concreto esta:
Código PHP:
SELECT     0 AS CodObra, Empleados.CodigoEmpleado AS codempleado, Empleados.SubcontrataActual AS codempresa, DatosPeriodo.Anio AS anio, 
                      
DatosPeriodo.Mes AS mes, Empleados.Nombre AS nombre, Empleados.NIF, CASE Empleados.valido WHEN 1 THEN 'Sí' ELSE 'No' END AS Recmedico,
                       CASE 
Empleados.epis WHEN 1 THEN 'Sí' ELSE 'No' END AS EPIS, '' AS curseg, CASE DatosPeriodo.TC1 WHEN 1 THEN 'Sí' ELSE 'No' END AS TC1, 
                      CASE 
DatosPeriodo.TC2 WHEN 1 THEN 'Sí' ELSE 'No' END AS TC2, '' AS curso, 
                      CASE 
datosperiodo.nomina WHEN 1 THEN 'Sí' ELSE 'No' END AS JusNom, Categorias.Descripcion AS categoria, GETDATE() AS faltass, 
                      
'' AS erdiatrabajo, Empleados.FechaCursoSegSalud AS fcursoSS, Empleados.FechaReconocimientoMedico, Empresas.Nombre AS Expr1
FROM         Empleados LEFT OUTER JOIN
                      Empresas ON Empleados
.SubcontrataAdicional = Empresas.CodigoEmpresa LEFT OUTER JOIN
                      DatosPeriodo ON Empleados
.CodigoEmpleado = DatosPeriodo.CodigoEmpleado AND DatosPeriodo.Mes = 1 AND 
                      
DatosPeriodo.Anio = 2007 LEFT OUTER JOIN
                      Categorias ON Categorias
.CodigoCategoria = Empleados.CodigoCategoria
WHERE     
(Empleados.CodigoEmpleado <> 0) AND (Empleados.SubcontrataActual = 1) 
más maja ella que pa que... en fin, la cosa es que la tabla DatosPeriodo tiene 31 campos más (1 por día de mes) de tipo boolean y tengo que obtener el nº de ellos que estén a true, por programación se hacerlo, pero creo que sería más "sencillo" hacerlo con la misma select, si no se puede, lo programo y en paz, espero que que los conocimientos que me faltan los tengas ustedes.

Gracias por adelantado.