簡體   English   中英

MySQL - 在一個語句中查詢三個表

[英]MySQL - Query three tables in one statement

我正在嘗試運行一個查詢,它使用以下三個表選擇信息,然后將結果合並為一個。

職員

s_id | name    |salary_id(fk)| dept_id (fk) |

1    |  John   |    3        |    2         |
2    |  Mike   |    3        |    5         |
3    |  Jen    |    3        |    1         |
4    |  Claire |    3        |    3         |

工資

id   | salary |

1    | 28000  |
2    | 32000  |
3    | 34500  |
4    | 38000  |

bridge_team_staff

t_id (fk)| s_id (fk)|
  2      |    2     |
  3      |    1     |
  4      |    2     |
  1      |    3     |
  2      |    4     |

橋梁解決了與團隊和經理的多對多關系,因為一個經理可以擁有多個團隊,而一個團隊可以擁有多個經理。

我想運行的查詢是根據他們在橋接表中的 team_id 收集經理的姓名、dept_id 和他們的工資。

例如,如果我查詢 team_id 2 上所有員工的姓名、dept_id 和薪水,它將顯示如下

name   | dept_id | salary |

Mike   |  2      | 34500  |
Claire |  3      | 34500  |

如果我理解正確,您需要這樣的查詢:

SELECT m.name, m.dept_id, s.salary
FROM bridge_team_staff b
JOIN staff_members m ON(b.s_id = m.s_id)
JOIN salaries s ON(m.salary_id = s.id)
WHERE b.t_id = ?
SELECT name, dept_id, salary
FROM staff_members JOIN
bridge_team_staff on s_id = s_id JOIN
salaries on salary_id = id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM