0

だから私は2つのテーブルを持っています:

すべてのプレイヤーを含む「プレイヤー」テーブル:

Players | stuff1| stuff2
----------------------------
1       | x1   | y1
2       | x2   | y2
3       | x3   | y3
...     | ... | ...

等々

次に、禁止されている人を含む「禁止」テーブルがあります。

Id | Players
------------
1  | 2
2  | 5

さて、「禁止」の内容が現在どのように表示されているかを考えると、「プレーヤー」テーブルのインデックス 2 と 5 を占有しているプレーヤーは禁止されていると言えます。

私が必要としているのは、'SELECT bans WHERE id=1' のようなことを行う方法であり、{2, x2, y2} のように 'players' でプレーヤー 2 を返しますが、それを行う方法がわかりません。

助けていただければ幸いです。

編集:申し訳ありませんが、私のフォーマットは少し凶暴になりました。今なら読めるはず!

4

4 に答える 4

1

すべての禁止されたプレーヤーが必要な場合

select p.* from players p, banned b where p.Players = b.Players
于 2013-01-26T17:40:29.243 に答える
1

参加したい:

select playersTable.* from banTable
inner join playersTable on banTable.players = playersTable.players
where banTable.id = 1

列の名前を別の名前に変更する必要がありplayersます。この列のセルにはプレイヤーは含まれていませんが、プレイヤー ID が含まれています。名前を変更しplayer_idます。

于 2013-01-26T18:11:01.773 に答える
0

これが必要だと思います::

Select Players from Table where ID=? /*2 in this case*/
于 2013-01-26T17:35:37.400 に答える
0

プレーヤーからプレーヤーを取り出して、誰が禁止されているかを表示する必要がありますか?

SELECT Players.*, CASE WHEN Banned.Players IS NOT NULL THEN 'YES' ELSE NO END AS [Banned] 
FROM Players
LEFT JOIN Banned ON Players.Players = Banned.Players

これにより、すべてのプレイヤーが禁止されていることを示すインジケーターとともに返されます。

于 2013-01-26T17:40:51.323 に答える