relational - three tables relations SQL select -


i'm learning sql, appreciated.

i have 3 tables: league, player , team

  • league , player many many (as player can in more 1 league)
  • team , player many many (as player can on team in multiple leagues)
  • league , team 1 many.

i have following table ids:

league.id  ----. league_has_player (league_id, player_id) .------   player.id team.id    ----. team_has_player (team_id, player_id)     .-----  player.id league     ----. team.id (team.league_id) 

i want players in league not on team in league.

here's broken attempt.

select * player p,     join team t on t.league_id = l.id      join league l on league.id = 2 p.id = league_has_player.player_id ,      not in (select team_has_player.player_id team_has_player) 

i think you're trying more this. couple comments have pointed out, table schema isn't clear. impression attempt.

decalre @leagueid...  select * player player.id in (select player_id                     league_has_player                     league_id = @leagueid) ,       player.id not in (select player_id                         team_has_player                             inner join team on team.id = team_has_player.team_id                         team.league_id = @leagueid) 

Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -