CodeIgniter在查询中作为额外列计数

时间:2018-10-01 10:33:34

标签: php sql codeigniter

我在CodeIgniter中有一个查询,工作正常。 现在,我想在每个输出行中包含一个额外的COUNT,该数据显示在表中。 我想每行查看用户请求设备的次数。

我不希望将输出分组,我希望每行一列表示该用户有3个请求,因此在这种情况下,来自同一用户的3行(具有不同的deviceRequest)在此列中有3次算是3。

PS:我对此很陌生,有关您的解决方案的信息将不胜感激。

查询:

$datatables->select('
                deviceRequestID,
                deviceRequestStatuses.deviceRequestStatusShortname,
                users.userEmail,
                users.userID,
                users.userName,
                users.userSurname,
                deviceRequestComments,
                deviceRequests.createdAt,
                deviceRequests.updatedAt,
                rooms.roomName,
                hotspots.hotspotName,
                hotspots.hotspotAddress,
                hotspots.hotspotCity,
                hotspots.hotspotZIP,
                DATEDIFF(CURDATE(), deviceRequests.createdAt) AS daysDifference,
        ')
            ->join('users', 'deviceRequests.userID=users.userID', 'left')
            ->join('deviceRequestStatuses', 'deviceRequests.deviceRequestStatusID=deviceRequestStatuses.deviceRequestStatusID')
            ->join('rooms', 'users.roomID=rooms.roomID', 'left')
            ->join('hotspots', 'rooms.hotspotID=hotspots.hotspotID', 'left')
            ->from('deviceRequests');

1 个答案:

答案 0 :(得分:0)

我在上面查询的选择部分内添加了这条额外的查询行,它恰好满足了我的需要。

(SELECT count(userID) FROM deviceRequests WHERE userID = users.userID) AS deviceCount