0
SELECT users.*
FROM users INNER JOIN roles_users ON users.id = roles_users.user_id
WHERE roles_users.role_id IN (1, 2)
GROUP BY users.id
HAVING COUNT(*) = 2
我來到這麼遠:寫這篇SQL中的Kohana查詢生成器
DB::select()->from('users')->join('roles_users')
->on('users.id', '=', 'roles_users.user_id')
->where('roles_users.role_id', 'IN', array(1, 2))
我可怎麼辦GROUP BY和Kohana的查詢生成器HAVING COUNT(*)?
我得到沒有找到COUNT列錯誤有()進行查詢生成器方法。 第一種方法也可以,但我不知道如何處理結果?我不能做 - > as_array()後執行()?那麼我應該如何處理結果呢? – Karem
@Karem,我沒有測試第二個,但應該是這樣的。我已經發布了第一種方法的工作示例。 –
Try - > having(DB :: expr('COUNT(*)'),'=','2'); – matino