Untitled

 avatar
unknown
sqlserver
5 days ago
709 B
4
Indexable
SELECT
  Diagnóstico,
  COUNT(*) AS Cantidad
FROM (
  SELECT
    CASE
      WHEN FECHA_NACIMIENTO IS NULL THEN 'Vacíos'
      WHEN ISDATE(FECHA_NACIMIENTO) = 1 AND YEAR(FECHA_NACIMIENTO) < 1900 THEN 'Fechas < 1900'
      WHEN ISDATE(FECHA_NACIMIENTO) = 1 AND (YEAR(FECHA_NACIMIENTO) > 1930 AND YEAR(FECHA_NACIMIENTO) < 2010) THEN 'Fechas > 1930 o fechas < 2010'
      WHEN ISDATE(FECHA_NACIMIENTO) = 1 AND (YEAR(FECHA_NACIMIENTO) > 2025 OR YEAR(FECHA_NACIMIENTO) BETWEEN 9000 AND 9999) THEN 'Fechas > 2025 o años 9000s'
      ELSE 'Correctas o fuera de diagnóstico'
    END AS Diagnóstico
  FROM Ventas.dbo.VEN_CLIENTES
) AS DiagnósticoData
GROUP BY Diagnóstico
ORDER BY Cantidad DESC;
Editor is loading...
Leave a Comment