LEFT JOIN меняет весь результат

Тема в разделе "Психологическая консультация", создана пользователем Fanamura, 10.11.2009.

  1. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    Пишу дополнение...

    Код (PHP):
    1. $query = sprintf("SELECT SUM(event_sum) AS value, p.firstname, p.lastname, t.short_name as team, (SUM(ch.vote_rating) / COUNT(ch.vote_rating)) as star, p.id as id
    2.            FROM #__joomleague_match_events AS me
    3.            LEFT JOIN #__joomleague_players AS p ON me.player_id = p.id            
    4.            LEFT JOIN #__joomleague_playertool AS pt ON me.player_id = pt.player_id AND pt.project_id = me.project_id
    5.            LEFT JOIN #__joomleague_teams AS t ON pt.team_id = t.id
    6.            LEFT JOIN #__joomleague_team_joomleague AS teamtool ON teamtool.team_id = t.id AND teamtool.project_id = me.project_id
    7.            LEFT JOIN #__joomleague_divisions AS jldiv ON jldiv.id = teamtool.division_id
    8.             LEFT JOIN #__joomleague_chara AS ch ON p.id = ch.id_hock
    9.           WHERE  
    10.                 me.event_type_id =%s AND
    11.                 me.project_id =%s AND
    12.                 ( jldiv.id = $division OR jldiv.parent_id = $division )
    13.        GROUP BY p.id
    14.        ORDER BY value DESC  LIMIT 0 , %s",$eventtype ,$project->id, $limit);

    Выводит в row->star то, что нужно, но!
    в value результат меняется на мне неведомый, откуда он берется я вообще не понимаю, вместо верного значения в 10 (к примеру), показывается 21 и т.д. Если убрать LEFT JOIN #__joomleague_chara AS ch ON p.id = ch.id_hock то все нормально для value... Вопрос, почему? А что делать?))
     
  2.  

Поделиться этой страницей

Загрузка...