Доброе всем утро!
Такая проблема, делаю запрос который выбирает пользователей и считает количество записей с ними связанных в различных таблицах.
SELECT `member`.`id`, `member`.`name`, COUNT(`vl_arrival`.`pid`), COUNT(`vl_diary`.`unid`)
FROM `member`
LEFT JOIN `vl_arrival` ON `vl_arrival`.`vid` = `member`.`id`
LEFT JOIN `vl_diary` ON `vl_diary`.`vid` = `member`.`id`
GROUP BY `member`.`id`
ORDER BY `member`.`id` ASC
Работает нормально, если встречаются элементы COUNT только из одного запроса, а если счётчики выдают не 0 в обоих джоинах результаты их множатся друг на друга и числа становяться завышены + равны,  COUNT(`vl_arrival`.`pid`) = COUNT(`vl_diary`.`unid`), хотя такого никак не может быть. =\ А мне как на зло надо в сумме 5 таких счетчиков, типа Юзер Вася написал 1 пост, загрузил 200 фото и т.п.
EXPLAIN:
    select_type    table    type    possible_keys    key    key_len    ref    rows    Extra
1    SIMPLE    member    ALL    NULL    NULL    NULL    NULL    32    Using temporary; Using filesort
1    SIMPLE    vl_arrival    ref    vid,vid_bid    vid    4    cy2.member.id    43    
1    SIMPLE    vl_diary    ref    index    index    4    cy2.member.id    2    Using index
И файлсорт странный, хотя меня он мало беспокоит - результат запроса не верный.
Я определённо что-то не так понимаю видимо, помогите разобраться! Заранее благодарю!