1

そのため、複数の ID を持つ 2 つの接続されたテーブルのクエリを指定しているときに、この問題が発生しました。

2 つのテーブルがあるとします。

テーブルコンペティション

  • p1_id(varchar)(FK)
  • p2_id(varchar)(FK)
  • p3_id(varchar)(FK)

tableコンペティションは、 player.idによってテーブルPlayerを参照します。

テーブルプレーヤー

  • ID (PK)
  • 名前
  • レベル
  • 性別

問題は取得したいということp1 namep2 namep3 nameで、テーブルコンペティションから...

4

1 に答える 1

3

join the table player thrice to get it's equivalent values,

SELECT  a.*,
        b.name Player1_Name,
        c.name Player2_Name,
        d.name Player3_Name
FROM    Competition a   
        INNER JOIN player b
            a.p1_ID = b.ID
        INNER JOIN player c
            a.p2_ID = c.ID
        INNER JOIN player d
            a.p3_ID = d.ID

If one of the columns in table competition is nullable, better use LEFT JOIN than INNER JOIN.

To fully gain knowledge about joins, kindly visit the link below:

于 2013-02-03T13:10:29.377 に答える