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

Discussion in 'Психологическая консультация' started by Fanamura, Nov 10, 2009.

  1. Fanamura
    Offline

    Fanamura Доброта

    Joined:
    Mar 12, 2007
    Messages:
    5,094
    Likes Received:
    158
    Gender:
    Male
    Пишу дополнение...

    Код (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.  

Share This Page

Loading...