2017-09-13 6 views
0

Je voudrais utiliser COUNT avec DISTINCT et avec alias de table.Compte SQL Server avec distinct avec l'alias de table

SELECT COUNT(DISTINCT id) AS count 
FROM auth_users 

Cela fonctionne, mais je dois utiliser l'alias de la table, comme ceci:

SELECT COUNT(DISTINCT User.id) AS count 
FROM auth_users AS User 

... et cela renvoie une erreur:

Incorrect syntax near the keyword 'User'

Comment reconstruire travailler avec le moyen le plus simple?

MySQL dans les deux sens fonctionnent très bien :)

+0

tout va bien 3 de travail pour moi dans SQL Server. Quelle est la solution. SELECT COUNT (DISTINCT Sno) AS Comte DE FileDetails SELECT COUNT (DISTINCT FileDetails.Sno) AS compter à partir FileDetails SELECT COUNT (DISTINCT Alias.Sno) AS compter à partir FileDetails alias – Amit

Répondre

3

« Utilisateur » est un reserved keyword, donc, si vous voulez l'utiliser comme alias de table que vous devez l'envelopper avec des crochets, voir les exemples ci-dessous:

SELECT COUNT(DISTINCT [User].id) AS count FROM auth_users AS [User] 

ou

SELECT COUNT(DISTINCT u.id) AS count FROM auth_users AS u 
+0

Merci, vous avez raison avec carrés! – kicaj