2012-08-27 64 views
-4

我不知道如何做到這一點,所以我問在這裏......你能幫我制定一個SQL查詢來加入3個表嗎?

我在我的數據庫3個表有這樣的..

表結構:接觸-----行:CONTACT_ID,姓名

表:組------行:GROUP_ID,組名

表:groupmembership ------行:CONTACT_ID,GROUP_ID

之間之間的關聯「 contact_id「和」group_id「在表」g roup_membership「反映了特定組中的聯繫人。

我需要做的是取一個contact_id,並在下拉列表中顯示他是哪個組的成員。我最終會使用此下拉列表將group_id發佈到一個頁面,以便顯示組信息。

任何人都可以幫助我如何制定MySQL查詢?

+0

什麼是制定所述查詢您的問題?你需要幫助哪個部分? – hakre

+0

這個問題有很多重複。其中之一是:http://stackoverflow.com/questions/5777760/mysql-join-3-tables?rq=1 – Jocelyn

+0

該鏈接沒有回答我的問題。我已經閱讀過那篇文章以及其他許多解釋。我認爲我的問題得到了很好的解釋,儘管如此,我仍會嘗試更加清楚......表「group_membership」充當與其他兩個表中的數據關聯的信息樞紐。我需要做的是從「group_membership」中獲取這些數據,並從另外兩個表格中搜集「group_name」和「contact_name」。 我想現在是不相關的,因爲我的問題被認爲是「不是真正的問題」。大聲笑 – Budove

回答

1

如果您想通過user_ID的選擇:

SELECT group_name, group_id 
FROM groupmembership gm 
INNER JOIN groups g ON g.group_id = gm.group_id 
WHERE gm.contact_id = 4711 

如果您想通過用戶的姓名來選擇:

SELECT group_name, group_id 
FROM groupmembership gm 
INNER JOIN groups g ON g.group_id = gm.group_id 
INNER JOIN contact c ON c.contact_id = gm.contact_id 
WHERE c.firstname LIKE 'TheHe';