我有两个表:
用户表:
ID | Name | UserGroupID |
1 | John | 2
2 | Sam | 11
3 | Kiddo | 2
4 | Sony | 3
5 | Jabeen | 1
用户机器表:
ID | MachineID | EmpID
1 | 1 | 1
2 | 2 | 1
3 | 1 | 2
4 | 2 | 2
5 | 2 | 4
6 | 3 | 5
我正在查看单个SQL以通过过滤来重复所有用户
FROM UserMachine WHERE MachineID = 2
在以下情况下也FROM Users WHERE UsersGroupID IN (2,11)
我在看以下结果:
MachineID | UsersName | UsersGroupID
2 | John | 2
2 | Sam | 11
最佳答案
查看联接。它们使我们可以在单个查询中关联来自两个不同表的数据:
SELECT um.MachineId, users.Name, users.UsersGroupID FROM UsersMachine um
INNER JOIN Users users ON users.id = um.EmpID
WHERE um.MachineID = 2 AND users.UsersGroupID IN (2,11)
这可能是我所见过的最好的帖子(在视觉上),它对我的联接有帮助:
http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/