从3个表中查询

时间:2015-06-18 13:16:17

标签: sql join

我有3个表:TblUserstblBridgetblAssignments

网桥包含用户的ID以及该用户的相应AssignmentID。

我试图找到具有特定作业@Assignment的用户,但也找到tblUser.isAdmin = Yes的位置。

我觉得和Joins一样可能,我只是找不到如何完成它的好例子。

2 个答案:

答案 0 :(得分:1)

我假设这是在一个接收@assignment var的存储过程中。

select tu.[Users] from TblUsers tu 
join tblBridge tb on tu.id=tb.TblUsersid
join tblAssignments ta on ta.id = tb.tblAssignmentsid
where ta.[Assignment] = @Assignment
and tu.[isAdmin] = 'Yes'

答案 1 :(得分:0)

SELECT u.* FROM tblBridge b
JOIN tblUsers u ON u.ID = b.tblUsersID
JOIN tblAssignments a ON a.ID = b.tblAssignmentsID
WHERE u.isAdmin = 'yes' AND a.name = 'searched assignment'

很多很多关系因此您需要选择多对多表并将其加入到分配中,并且用户也会将管理条件放在哪里。

我不确定这些名称是否与您在数据库中的名称完全相同,因此您需要根据需要进行调整。

我不知道您在分配表中寻找的字段,因此请根据您的需要更改a.name