2011-08-10 37 views
-1

我有三个表格,分别是'user','user_resources'和'desktop_resources'。mysql查询以下问题?

“用户”包含 - EMP_ID,名称和其他属性
“USER_RESOURCES” - EMP_ID和桌面ID外键关系
“desktop_resources” - 桌面ID和其他属性

现在我想从那里一个SQL查询我可以从'user'表和'desktop_resources'属性中得到一个只显示“emp_id = d_id”属性的表格

怎么去?

+0

你试过了什么?您几乎已经到达查询。这并不困难。试一试。尝试... – Nivas

+0

严重为什么倒票..堆栈应该开始实施系统,其中的原因必须给予downvote .. – digster

回答

0

终于找到了这查询有用:

SELECT name, desktop.* 
FROM desktop 
NATURAL JOIN (
user 
JOIN user_resource ON user.emp_id = user_resource.emp_id 
) 

我相信可能会有其他含糊不清的查询这个..如果你有一个更好的查询ry ..请将它置于评论中...

0

我没有看到D_ID列在那里,但如果你这样想,它应该是这样的:

SELECT name, desktop_resources.* 
FROM desktop JOIN user_resources USING (desktop_id) JOIN user USING (emp_id) 
+0

实际上emp_id和d_id在user_resources表中......其外键关联表对于用户和desktop_resources表(emp_id在用户表中,d_id在desktop_resources表中)。 – digster

+0

这是查询我终于... SELECT名字,桌面解决。* 从台式 自然科学JOIN( 用户 JOIN user_resource ON user.emp_id = user_resource.emp_id ) – digster

+0

将其放在答案后(不能做它很早...但() – digster

0

这是一个简单的一系列联接:

select u.name, dr.* 
from user u 
join user_resources ur on ur.emp_id = u.emp_id 
join desktop_resources dr on dr.desktop_id = ur.desktop_id 
where u.emp_id = $d_id