-1
votes

Comment utiliser compter dans une sous-requête?

J'ai du mal à utiliser Compter dans une sous-requête. Je veux écrire une requête qui retournera le nombre de commentaires par consommation, mais le compte me donne le nombre total de commentaires existants.

SELECT con.Consumer_ID, con.Scheduled, con.Been_Called, (SELECT COUNT(*) 
FROM Comments WHERE com.ConsumerID = con.Consumer_ID) AS NumComments
FROM Consumers con
INNER JOIN Comments com
ON con.Consumer_ID = com.ConsumerID


0 commentaires

3 Réponses :


1
votes

Votre clause où la clause de la sous-requête est incorrecte:

SELECT con.Consumer_ID, con.Scheduled, con.Been_Called, 
(
   SELECT COUNT(*) 
   FROM Comments c WHERE c.ConsumerID = con.Consumer_ID
) AS NumComments
FROM Consumers con


0 commentaires

3
votes

On dirait que vous surchargez cela. Une simple join agrégée pourrait faire l'affaire, comme: xxx


0 commentaires

1
votes
SELECT con.Consumer_ID, con.Scheduled, con.Been_Called, COUNT(DISTINCT com.CommentID) AS NumComments
FROM Consumers con
INNER JOIN Comments com
ON con.Consumer_ID = com.ConsumerID
GROUP BY con.Consumer_ID, con.Scheduled, con.Been_Called

0 commentaires