Подсчет сгруппированных записей из нескольких таблиц

#sql-server

#sql-сервер

Вопрос:

в таблице есть столбец comment_id с именем pic_alb_love , который я хотел бы добавить в запрос ниже, но я не знаю, как это сделать. На самом деле то , что я хочу сделать , это подсчитать общее comment_id количество в таблице pic_alb_love .

 SELECT users_pics.wardrobe, 
     profile.fname,
     users_pics.pic,
     users_pics.u_pic_id,
     users_pics.email,
     users_pics.make,
     users_pics.designer,
     photo_comment.comment,
     max_photo_comment.count_pic_id
FROM dbo.users_pics 
INNER JOIN profile 
    ON users_pics.email = profile.email  
LEFT Join (SELECT pic_id
                ,MAX(comment_id) max_comment_id
                ,COUNT(pic_id) count_pic_id
           FROM photo_comment
           GROUP BY pic_id
          ) max_photo_comment 
    On users_pics.u_pic_id = max_photo_comment.pic_id         
LEFT Join photo_comment 
    On max_photo_comment.pic_id = photo_comment.pic_id 
        AND max_photo_comment.max_comment_id = photo_comment.comment_id
WHERE users_pics.wardrobe = MMColParam 
    AND users_pics.email = MMColParam2
ORDER BY u_pic_id asc
 

это различные поля таблицы pic_alb_love:

 (comment_id,pic,love_com, wardrobe, email
    ,com_name,resp_email, play_count, com_stat) 
 

Ответ №1:

 LEFT JOIN (SELECT Pic
              ,Count(*) [CommentCount]
           FROM pic_alb_love 
           GROUP BY Pic) c 
    ON c.Pic=u_pic_id
 

Предполагая, что pic_alb_love.pic это FK в таблице…
Использовать [CommentCount] в списке выбора.

Комментарии:

1. не могли бы вы вставить его в мой, чтобы я мог видеть конечные результаты. потому что, когда я добавляю это к своему, результат не дает мне нового столбца