Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Avertissement :La valeur nulle est éliminée par un agrégat ou une autre opération SET dans Aqua Data Studio

Vous utiliseriez principalement COUNT pour résumer sur un UID. Par conséquent

COUNT([uid]) produira l'avertissement :

tout en étant utilisé avec une jointure gauche, où l'objet compté n'existe pas.

Utilisation de COUNT(*) dans ce cas, les résultats seraient également incorrects, car vous compteriez alors le nombre total de résultats (c'est-à-dire les parents) qui existent.

Utilisation de COUNT([uid]) EST une manière valide de compter, et l'avertissement n'est rien de plus qu'un avertissement. Cependant, si vous êtes concerné et que vous souhaitez obtenir un véritable nombre d'uids dans ce cas, vous pouvez utiliser :

SUM(CASE WHEN [uid] IS NULL THEN 0 ELSE 1 END) AS [new_count]

Cela n'ajouterait pas beaucoup de frais généraux à votre requête. (testé mssql 2008)