2013-08-31 6 views

ответ

1

В нижеследующем ниже списке будут перечислены все записи в таблице Computer, имеет ли он соответствующий id или нет на других таблицах, поскольку использовался LEFT JOIN. Причина отдельного вычисления количества обращений компьютера связана с тем, что он может привести к недопустимому счету, если в таблице LIKE имеется несколько совпадений Computer.

SELECT a.ID, a.Name, 
     SUM(sta_like = 1) total_like, 
     SUM(sta_like = 0) total_dislike, 
     COALESCE(totalHits, 0) total_hits 
FROM Computer a 
     LEFT JOIN `LIKE` b 
      ON a.id = b.id_com 
     LEFT JOIN 
     (
      SELECT id_com_hits, COUNT(*) totalHits 
      FROM hits 
      GROUP BY id_com_hits 
     ) c ON a.ID = c.id_com_hits 
GROUP BY a.ID, a.Name 
+0

привет спасибо это работа. Огромное спасибо. : D – jevrie

Смежные вопросы