現在、データベースに 3 つの MySQL テーブルがあり、それらをすべて結合してデータを比較する方法を考えていました。
クエリは、現在余暇にサイド プロジェクトとして取り組んでいる「敵か味方か」システムの一部ですが、一生それを解決することはできません。2 つのテーブルの結合は成功しましたが、3 つのテーブルの結合ではうまくいきません。
何はともあれ、テーブルレイアウトです。
表1
Unique ID | Username | Password | Activity
1 | SomeUser | password | Active
2 | NewUsers | password | InActive
3 | GuestUse | password | Active
表 2
FileID | UploadedBy | Type | FileName | Description
1 | SomeUser | MP3 | Demo.mp3 | Bass Guitar Riff
2 | SomeUser | MP4 | Demo.mp4 | Some Youtube Video
表 3
ListOwner | Friends | Foes
SomeUser | GuestUse | NULL
GuestUse | SomeUser | NULL
私が達成しようとしているのは、「ListOwner」が自分の「友達」リストにいるユーザーがアップロードしたファイルを表示できることだけです。当然、アップロードされたすべてのファイルを表示できるページがありますが、これはより設計されていますあなたがより高く評価する人々のアップロードを見る。
本質的に、クエリを読み取ろうとしています。Table1 の「Username」、Table2 の「UploadeBy」、Table3 のすべて
例: GuestUse がログインすると、クエリはこの情報を取得し、彼のユーザー名を表 3 と比較して、彼の友人リストにあるユーザーからのアップロードのみを表 2 に表示します。
構造については、DB には次の設定があります。
- 一意の ID とフィールド ID は両方とも INT(4) です
- ユーザー名は VARCHAR(42) です
- パスワードは VARCHAR(30) です
- アクティビティは VARCHAR(8)
- ListOwner は VARCHAR(42) < ユーザー名と同じ
- 味方と敵はテキスト
あなたが与えることができるどんな助けも大歓迎です.