It sounds like the first thing you should do is fix the database design, since the person who originally designed had no business even going near a database in the first place.
First, since the team and position seem to already be in the stats table (does this make sense? I probably would have associated those attributes with a player inside the nhl_players table), you'd want to UPDATE the table to remove the " (position_name)" value appended to the players' names.
Then, you'd want to add a player_id column to the nhl_stats table, UPDATE all rows in the table to set the player_id column equal to (subquery: SELECT the player_id from the nhl_players table WHERE nhl_stats.username = nhl_players username), and finally remove the "name" column from the nhl_stats table.
If your DB engine supports foreign keys (e.g. InnoD😎, I'd recommend adding a foreign key relationship as well. If not, you can always do a final SELECT in the nhl_players table for any names containing '(' or ')' to see if you need to manually fix some rows. Likewise, if you initially add the player_id column to the nhl_stats table as a "NULL DEFAULT NULL" column type, you could then search the nhl_stats for any rows where that column is equal to NULL (meaning the subquery didn't work and you'll again need to manually fix those rows).
Once you get the database design properly fixed up, querying it for the data you want will be a breeze.