выберите t2.AGENT_ID, First_Login, last_logout из (выберите AGENT_ID, EVENT_TIME как First_Login
из datamart_agent_details
где datamart_agent_details.GRP_DBID в ('3')
и EVENT_TIME между 18.03.2018 00:00:00 и 18.03.2018 23:59:59
и EVENT = 'ВХОД'
группа по agent_id
упорядочить по event_time по возрастанию
) t1 левое присоединение (выберите AGENT_ID, EVENT_TIME как last_logout
из datamart_agent_details
где datamart_agent_details.GRP_DBID в ('3')
и EVENT_TIME между 18.03.2018 00:00:00 и 18.03.2018 23:59:59
и EVENT = 'ВЫХОД'
группа по agent_id
упорядочить по event_time по убыванию
) t2 на t1.agent_id = t2.agent_id
пожалуйста, как я конвертирую это в красноречивый ларавел
Попробуйте convert.sql.to.eloquent.org






Однажды попробуйте с этим
$fromTempTable = DB::raw("(select AGENT_ID, EVENT_TIME as First_Login from datamart_agent_details where datamart_agent_details.GRP_DBID in ('3') and EVENT_TIME between '2018-03-18 00:00:00' and '2018-03-18 23:59:59' and EVENT = 'LOGIN' group by agent_id order by event_time asc as) t2");
$leftTempTable = DB::raw("(select AGENT_ID, EVENT_TIME as last_logout from datamart_agent_details where datamart_agent_details.GRP_DBID in ('3') and EVENT_TIME between '2018-03-18 00:00:00' and '2018-03-18 23:59:59' and EVENT = 'LOGOUT' group by agent_id order by event_time desc) t1");
DB::table($fromTempTable)
->select('t2.AGENT_ID', 'First_Login', 'last_logout')
->leftJoin($leftTempTable, 't1.agent_id', '=', 't2.agent_id')
->get();
Вы можете использовать этот запрос как в модели, так и в контроллере. Но стандарт - это модель, поэтому вставьте ее в модель.
$ DataTable = AgentLogin :: whereIn ('datamart_agent_details.GRP_DBID', $ array list) -> whereBetween ('EVENT_TIME', array ($ from, $ to)) -> getAllQuery () -> groupInterval ($ interval) это мой контроллер
return $ query -> leftJoin ('cfg_agent', 'cfg_agent.LOGIN_ID', '=', 'datamart_ag ent_details.AGENT_ID') -> select ('t2.AGENT_ID', 'First_Login', 'last_logout') -> leftJoin ($ leftTempTable, 't1.agent_id', '=', 't2.agent_id'), и это мой ответ на запрос
Вы пробовали RAW Sql