2014-01-25 59 views
0

我需要MySQL的幫助。 Db給了我,不幸的是我無法以任何方式改變它的結構。使用橋接器連接表

我需要提取屬於特定組的員工列表(例如group_id = 2)。我不擅長使用橋接來連接多個表。你能幫我一把嗎?

+---------------+ 
|employees  | 
+---------------+ 
|employee_id | 
|FirstName  | 
|LastName  | 
+---------------+ 

+-------------------------------+ 
|employees_department   | 
+-------------------------------+ 
|employee_id     | 
|department_id     | 
+-------------------------------+ 

+--------------+ 
|departments | 
+--------------+ 
|deparmtent_id | 
|name   | 
+--------------+ 

+--------------------------------+ 
|department_groups    | 
+--------------------------------+ 
|group_id      | 
|department_id     | 
+--------------------------------+ 

+---------------+ 
|groups   | 
+---------------+ 
|group_id  | 
|group_name  | 
+---------------+ 

我感謝您的幫助。

+0

你的意思是加入嗎? – j08691

+0

那麼,只需從department_groups'和'JOIN'中選擇其他3個表格?看起來像一本教科書直接加入,你在哪裏有問題? – Wrikken

+0

我是一名兼職工作的學生,我還在學習:) – Artano

回答

0
SELECT e.FirstName, e.LastName  
FROM department_groups AS dg 
JOIN employees_department AS ed ON (ed.department_id = dg.department_id) 
JOIN employees AS e ON (e.employee_id = ed.employee_id) 
WHERE dg.group_id = 2 
0

這個查詢應該做的伎倆:select * from employees, employees_department, department_groups, groups WHERE employees.employee_id = employees_department.employee_id and employees_department.department_id = department_groups.department_id and department_groups.group_id = groups.group_id and groups.group_id = 2

注意,如果GROUP_ID不是整數,這將失敗。相反,您可能必須更改最後一位groups.group_id = '2'