繁体   English   中英

显示来自多个不同表的多个数据

[英]display multiple data from multiple different table

我的数据库中有3个不同的表,分别是:

Leave {leave_id, leave_type, emp_id}
Employee {emp_id. emp_name, dept_id}
Department {dept_id, dept_name}

我希望根据leave_id选择leave_type,emp_name和dept_name。

我应该如何编写此查询?

谢谢

Select l.leave_type, e.emp_name, d.dept_name 
    FROM Leave l 
        JOIN Employee e ON l.emp_id = e.emp_id 
        JOIN Department d ON e.dept_id = l.dept_id 
    WHERE l.leave_id = '1'; //give leave_id which you want

使用上面的查询。

尝试这个

select leave_type, emp_name ,dept_name from Leave, Employee, Department where Leave.emp_id = Employee.emp_id AND Employee.dept_id = Department.dept_id ;

试试这个

SELECT leave_type, emp_name, dept_name 
FROM   Leave as l
JOIN   Employee as e ON e.emp_id = l.leave_id
JOIN   Department as d ON d.dept_id= l.leave_id
WHERE  leave_id = $id

此选项将返回满足连接条件的所有行。

SELECT leave_type, emp_name, dept_name
FROM Leave
INNER JOIN Employee ON Leave.emp_id = Employee.emp_id
INNER JOIN Department ON Employee.dept_id = Department.dept_id
WHERE Leave.leave_id = ?

即使其中之一没有价值,也可以使用LEFT JOIN强制加入。

SELECT leave.leave_type, emp.emp_name, dept.dept_name
    FROM Employee emp
     LEFT JOIN Leave leave on emp.emp_id = leave.emp_id
     LEFT JOIN Department dept on dept.dept_id = emp.dept_id
 WHERE
 leave.leave_id='{$YOUR_VALUE}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM