rocknbil - 5:40 pm on Feb 21, 2011 (gmt 0)
As you have already discovered, a join requires a unique field on one of the other tables to correctly relate to that table. The only one I see ATM is SeasonID. Try this.
SELECT idihc_players.PlayerID AS id,
idihc_players.PlayerLastName AS lastname,
idihc_players.PlayerFirstName AS firstname,
idihc_players.PlayerPublish as ppublish,
idihc_players.PlayerNumber AS number,
idihc_seasonnames.SeasonID as sid,
idihc_seasonnames.SeasonName as sname,
idihc_seasonnames.SeasonPublish as spublish
LEFT OUTER JOIN idihc_players on idihc_players.PlayerID = idihc_seasons.SeasonPlayerID
left join idihc_seasonnames on idihc_seasonnames.SeasonID = idihc_seasons.SeasonID
WHERE idihc_seasons.seasonid = 5 and idihc_players.PlayerPublish = 1
GROUP BY id
ORDER BY number
I used the table names instead of the placeholders for clarification, mod as you wish.