Estoy diseñando una consulta en SSMS 2005, que se ve algo como esto:select count (valor distintivo) devuelve 1
SELECT COUNT(DISTINCT ColumnName) FROM Table WHERE ColumnName IS NOT NULL
Cuando ejecuto la consulta con COUNT() devuelve el valor 1. Cuando ejecutarlo sin COUNT(), SSMS informa el valor correcto, por ejemplo, 212 registros.
La columna en cuestión es de tipo de datos numéricos (16, 0).
Para aquellos que pudieran preguntar, la consulta en su totalidad es:
SELECT COUNT(DISTINCT O_ID) FROM vEmployers
INNER JOIN vEnrolment ON O_ID = E_EnrolmentEmployer
WHERE E_START >= '01-AUG-2008' AND E_START < '01-AUG-2009'
AND O_ID IS NOT NULL AND O_ID IN (
SELECT O_ID FROM vEmployers
INNER JOIN vEnrolment ON O_ID = E_EnrolmentEmployer
WHERE E_Start < '01-AUG-2008' and E_Start >= '01-AUG-2007'
)
Esta consulta, básicamente, da una cifra de negocios de repetición entre dos períodos 12month.
Así que me pregunto por qué "COUNT (DISTINCT ColumnName)" está devolviendo 1 cuando "ColumnName IS NOT NULL" ha sido especificado?
Este es un ejemplo de los datos cuando se ejecuta SELECT TOP 10 ColumnName distinto de ... etc:
1346116
1346131
1346425
1346923
1349935
1350115
1350153
2594787
2821944
2879631
@GateKiller: ¿Estás absolutamente seguro de que positivamente que acaba omite el 'COUNT' y nada más? – Quassnoi
@Quassnoi: Sí. – GateKiller
Apreciar toda tu ayuda hasta ahora chicos :) – GateKiller