php - 关系表数据库

标签 php mysql sql

我有两个表:

用户表:

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 ALSO 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/

关于php - 关系表数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272979/

相关文章:

PHP json_encode json_decode UTF-8

php - 检索连接三个表的外键值

php - 使用 mysql/php 从日期时间格式化 fetchall (制作一个简单的统计计数器)

MySQL 不使用索引来排序并从索引列中选择值

mysqldump 生成空表

python - Pandas 数据框中等效的 SQL 查询

php - 获取 UNIX 时间戳的正确时间

php - 在 PHP 服务器上隐藏/记录错误是个好习惯吗?

php - 运行 2 个 ajax 进程的 AJAX(原型(prototype)/php)挂起,直到第一个进程完成

mysql - MYSQL 中的生产查询速度慢,但开发速度慢