Hej.
Endera är det måndags-tröttheten som jävlas eller så är det fel i denna sql.
Det sjuka är att den har fungerat som önskat, men nu får jag dubbla resultat på allt som har ett värde i "player_id".
SELECT g.*, t.team_shortname,
p1.player_name AS p1_name, gp1.player_number AS p1_number,
p2.player_name AS p2_name, gp2.player_number AS p2_number,
p3.player_name AS p3_name, gp3.player_number AS p3_number FROM game_data g
LEFT JOIN teams t ON t.id=g.team_id
LEFT JOIN players p1 ON p1.id=g.player_id
LEFT JOIN game_players gp1 ON gp1.player_id=g.player_id
LEFT JOIN players p2 ON p2.id=g.ass1_id
LEFT JOIN game_players gp2 ON gp2.player_id=g.ass1_id
LEFT JOIN players p3 ON p3.id=g.ass2_id
LEFT JOIN game_players gp3 ON gp3.player_id=g.ass2_id
WHERE g.game_id=25 AND g.period=1
ORDER BY g.period_time_min DESC, period_time_sec DESC
Det denna ska göra är att plocka ut händelser till ett online-system, och det är inte alltid "player_id" har ett värde, typ vid timeout och så. Med så fort den får ett värde blir det alltså dubbla resultat.
Nån som kan se nåt fel direkt eller behöver jag förklara mer?
Använder MSSQL