我有两个表:

用户表:

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/

09-26 01:48