【发布时间】:2021-11-17 14:55:02
【问题描述】:
我想根据user_id 和del 列选择room_id
| room_id | user_id | del |
|---|---|---|
| 1 | 23 | 0 |
| 1 | 45 | 0 |
| 1 | 56 | 1 |
| 25 | 23 | 0 |
| 25 | 45 | 0 |
| 25 | 56 | 0 |
这是我的桌子的一个例子,我想选择 room_id WHERE:
"user_id = 23 AND del = 0" (del of the row where user_id=23)
与
"user_id = 45 AND del = 0" (del of the row where user_id=45)
与
"user_id = 56 AND del = 0" (del of the row where user_id=56)
查询应该只返回room_id = 25
如何使用 PHP 或 CodeIgniter 实现这一点?
我尝试过使用它,但它不起作用:
$this->db->select()
->from('table')
->where(['user_id' => 23, 'del' => 0])
->where(['user_id' => 45, 'del' => 0])
->where(['user_id' => 56, 'del' => 0])
->get()->result_array();
*注意:当我尝试在同一个表上使用连接表时它起作用了,但是当我有 10 个user_id(连接同一个表 10 次)时,查询运行速度非常慢(因为它是一个大表,几乎接近一百万行)。
提前谢谢你。
【问题讨论】:
标签: php mysql codeigniter codeigniter-3