라라벨로 복잡한 쿼리를 만들려고 하니까 너무 힘드네요. 자꾸 오류가 뜨는데 어디서부터 해결해야 될지도 모르겠고..
아래와 같이 질의를 하려고 하는데요
select `c1`.`id` from `customers` as `c1` join `lessons` as `l1` on `c1`.`id` = `l1`.`customer_id` left outer join `lessons` as `l2` on (`c1`.id = `l2`.customer_id and (l1.date < l2.date or (l1.date = l2.date and l1.id < l2.id))) where `l2`.id is null and `c1`.status in ('진행', '중단') and `l1`.`date` < '2019-11-02'
자체 해결했습니다. 중간에 on에다가 (A = B and (C=D or E=F)) 이런식으로 되있는거 아무리 서치해도 답이 안나와서 그냥 DB::select( DB::raw("select 불라불라")); 이렇게 해서 쿼리 그냥 쓰는걸로.... 왠만큼 복잡한거는 그냥 쿼리를 그대로 쓰는게 훨씬 나은거같네요
라라벨로 복잡한 쿼리를 만들려고 하니까 너무 힘드네요. 자꾸 오류가 뜨는데 어디서부터 해결해야 될지도 모르겠고..
아래와 같이 질의를 하려고 하는데요
select `c1`.`id` from `customers` as `c1` join `lessons` as `l1` on `c1`.`id` = `l1`.`customer_id` left outer join `lessons` as `l2` on (`c1`.id = `l2`.customer_id and (l1.date < l2.date or (l1.date = l2.date and l1.id < l2.id))) where `l2`.id is null and `c1`.status in ('진행', '중단') and `l1`.`date` < '2019-11-02'
혹시 어떻게 해야되는지 알 수 있을까요?
참고로 위의것은
https://stackoverflow.com/questions/2111384/sql-join-selecting-the-last-records-in-a-one-to-many-relationship/2111420
여기를 참고해서 작성되었습니다..