2012-03-12 60 views
6

我有2个表,员工和部门。加入表,外键

部门 - ID,部门

员工 - ID,部门标识,名称,和一帮更在这里。

所以employees.department_id是一个外键departments.id

我需要显示表的员工,但不是DEPARTMENT_ID(显示部门的ID),我需要显示实际部门,所以在我需要放置部门。部门

这可能吗?这是我想要的图片。 http://oi44.tinypic.com/xgdyiq.jpg

PS:朋友告诉我使用加入但我不确定...,你可以在图片中看到我的查询。

回答

10

你的朋友告诉你真相:P

您只需要使用一个内部联接你的两张桌子之间是这样的:

SELECT d.name, e.name, e.email, ... FROM deparments d INNER JOIN employees e ON d.id = e.department_id. 

你必须适应你的领域有所需的输出:)

0

你不应该使用SELECT *,只是采取你真正想要的领域,如果它只是采取表值的屏幕截图。

SELECT department.name

0

这应包括为你:

SELECT 
    E.Id 
    , D.Department 
    , E.Name 
    -- More stuff 
FROM Employees E 
INNER JOIN Departments D 
    ON D.id = E.department_id 
0
SELECT employees.*, department.department 
FROM employees 
INNER JOIN department ON employees.department_id = department.id 
3
SELECT employees.id, employees.department_id, employees.name, departments.department 
FROM employees 
INNER JOIN departments ON employees.department_id = departments.id