2

次のテーブルからPlayerName、PlayerNumber、Location、PartnerName、PartnerNumber、Locationの列を選択するクエリを作成したいと思います。

  • プレーヤー(列:Id、PlayerName、PlayerNumber、LocationId)
  • パートナー(列:Id、PartnerName、PartnerNumber、LocationId)
  • 場所(列:ID、場所)

しかし、私はそれを行う方法を理解することはできません。誰かアイデアはありますか?

4

5 に答える 5

2

シンプルでまっすぐな方法

select PL.PlayerName , PL.PlayerNumber, L.Location, PT.PartnerName, PT.PartnerNumber
from  Players PL, Location L, Patners PT
where L.id = PL.LocationId and L.id = P.LocationId

これはUNIONを使用して行うこともできますが、それについてはよくわかりません。

于 2012-06-27T09:44:29.720 に答える
2

登録テーブルを検討した後、更新されたクエリを見つけます。

SELECT players.playername, 
       player.playernumber, 
       L1.location, 
       partners.partnername, 
       partners.partnernumber, 
       L2.location 
FROM   registration R 
       INNER JOIN players 
               ON players.id = R.playerid 
       INNER JOIN partners 
               ON partners.id = R.partnerid 
       INNER JOIN locations L1 
               ON players.locationid = L1.id 
       INNER JOIN locations L2 
               ON partners.locationid = L2.id 
于 2012-06-27T09:47:10.357 に答える
1

これを試してみてください..わかりません

select pl.Id,pl.PlayerName,pl.PlayerNumber,pa.ID,pa.PartnerName,pa.PartnerNumber,l.Location 
from Players as  pl,Partners as pa ,Location as l 
where pl.LocationId = pa.LocationId and l.LocationId = pl.LocationId
and pa.LocationId = l.LocationId
AND l.LocationId = <some id>
于 2012-06-27T09:44:44.697 に答える
0
Select PlayerName , PlayerNumber, Location, PartnerName, PartnerNumber
from Players pl
inner join Partners pa on pl.LocationId=pa.LocationId
inner join Location L on L.id=pa.LocationId
where Location = 'String to search for'
于 2012-06-27T09:39:40.097 に答える
0
select
  PlayerName,
  PlayerNumber,
  Location,
  PartnerName,
  PartnerNumber
from players
  left join locations
    on locations.id = players.LocationId
  left join partners
    on partners.LocationId = locations.id
于 2012-06-27T10:16:25.103 に答える