0

相互に参照する 3 つのテーブルがあります。リーグ、チーム、およびプレイヤーです。

リーグにはリーグ ID、リーグ名、都市
があります チームにはチーム ID、チーム名、プレイヤー数、リーグ ID(fk)
があります プレイヤーにはプレイヤー ID、プレイヤー名、ポジション、チーム ID(fk) があります

Players などのテーブルを表示してすべてのコンテンツを表示し、teamid 外部キーを使用して、その列の代わりにチーム名を表示するにはどうすればよいですか?

4

3 に答える 3

0

内部結合を使用する

    SELECT  b.teamname,a.playername, a.position
       FROM   Players a
         INNER JOIN Teams b 
            ON a.teamid = b.teamid

リーグを指定する場合は、

  SELECT c.leaguename, c.city ,d.* FROM
    (SELECT  b.teamname,a.playername, a.position
       FROM   Players a
         INNER JOIN Teams b 
            ON a.teamid = b.teamid) d
            INNER JOIN Leagues c
                ON d.leagueid= c.leagueid
于 2013-03-12T02:15:11.787 に答える
0
SELECT Players.*, teamname
FROM Players JOIN Teams USING (teamid)

teamid2 つのテーブル間で一致する列を結合するだけです。

于 2013-03-12T01:54:58.953 に答える
0

を使用して両方のテーブルを結合する必要がありますINNER JOIN

SELECT a.*, b.*
FROM   Players a
       INNER JOIN Teams b 
          ON a.teamid = b.teamid

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-03-12T01:55:51.250 に答える