我有3個MySQL表目前在我的數據庫中,我試圖找出如何將它們連接在一起並比較它們之間的數據。加入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」 可以查看用戶上傳的文件誰是他/她的「朋友」列表中,自然會有一個頁面,您可以查看上傳的所有文件,但這是更專注於看到你更喜歡上傳的人。
實質上,我試圖讓查詢讀取; 「用戶名」,從表1,從表2「UploadeBy」和一切從表3
例子: GuestUse登錄,查詢從那些誰需要這些信息,他的用戶名與表3進行比較,然後只顯示上傳表2中在他的朋友列表中。
對於結構DB有以下設置。
- 唯一ID &字段ID都INT(4)
- 用戶名是VARCHAR(42)
- 口令VARCHAR(30)
- 活性是VARCHAR(8)
- ListOwner是VARCHAR (42)<同用戶名
- 好友&的敵人是TEXT
任何幫助你可以給予將不勝感激。
的敵人表用於從「邀請好友」用戶阻止其他用戶,它由不同頁面上的另一個查詢回升。我只是想保持表格的數量。 – AlbrightK 2013-03-07 17:20:14
您不必關心表格數量。你必須首先關心正確的數據結構。 – Ghigo 2013-03-07 17:24:03
編輯:這完美的作品,只是不得不改變我的分貝,以便它會使用用戶名,而不是用戶名,完美! 謝謝:) – AlbrightK 2013-03-07 17:36:56