Utilizzeresti principalmente COUNT
per riassumere su un UID. Pertanto
COUNT([uid])
produrrà l'avviso:
mentre viene utilizzato con un join sinistro, dove l'oggetto contato non esiste.
Utilizzando COUNT(*)
in questo caso si avrebbero anche risultati errati, poiché si conterebbe il numero totale di risultati (es. genitori) esistenti.
Utilizzando COUNT([uid])
È un modo valido di contare e l'avviso non è altro che un avviso. Tuttavia, se sei preoccupato e desideri ottenere un conteggio reale degli uid in questo caso, puoi utilizzare:
SUM(CASE WHEN [uid] IS NULL THEN 0 ELSE 1 END) AS [new_count]
Ciò non aggiungerebbe molti costi generali alla tua query. (test mssql 2008)