选择查询以从数据库获取数据

时间:2019-07-17 11:39:56

标签: php sql

我有两个连接在一起的表,名为userrecords,结构如下。在下面的查询中,我试图获取status = 1的小时或秒> 0的用户。运行查询时,它给我user 142的状态为0。

查询实际上返回用户表中的两行。它应该只返回一行。即用户199

请问我的查询出了什么问题?

用户

id    status
199    1
142    0

记录

user_id  hours  seconds
  199    10      90
  144     0      800

控制器

$results = array();
$results = $this->db->query("SELECT user.id, user.status, records.hours, records.seconds 
                             from user 
                             INNER JOIN records 
                                 ON user.id = records.user_id 
                             WHERE user.status = 1 
                               and records.hours 
                                or records.seconds > 0  ");
$get_results = $results->result_array();
return $get_results;

1 个答案:

答案 0 :(得分:1)

或条件之间的用户括号

$results = array();
$results = $this->db->query("SELECT user.id,user.status,records.hours,records.seconds 
                             FROM user 
                             INNER JOIN records 
                                 ON user.id = records.user_id 
                             WHERE user.status = 1 
                               AND (records.hours > 0 OR records.seconds > 0)");
$get_results = $results->result_array();
return $get_results;