【发布时间】:2018-09-05 07:01:06
【问题描述】:
我有一个运行良好的 sql。我想将其转换为活动记录查询,但不知道如何将这些子查询转换为活动记录
下面是我的sql:
Select A.*, B.*
FROM
( SELECT ( 6371 * acos( cos( radians(24.8964089) ) * cos( radians(RB.`lat`) )
* cos( radians(RB.`lng`) - radians(67.06749)) + sin(radians(24.8964089))
* sin( radians(RB.`lat`)))) AS distance, RB.`id` as BRID , R.`name` as NAME
FROM
`rent_br` RB
JOIN `rent` R ON R.`id` = RB.`restId`
JOIN `rent_category` RC on R.`id` = RC.`restId`
WHERE
TRUNCATE(RB.`lat`, 0) >= TRUNCATE(24.8964089,0)
AND TRUNCATE(RB.`lat`, 0) < TRUNCATE(25.8964089,0)
AND RB.`isdelivery` = '1'
AND RC.`catId` = 11
/*AND ( rent.`tags` like '%burger%' OR rent.`name` like '%burger%' OR info.`name` like '%burger%' )*/
HAVING
`distance` <= 50
ORDER BY
`distance` ASC ) A
JOIN
(select max(radius) as maxRadius, rent_br_delivery_radius.`rest_brId` as bbrId from `rent_br_delivery_radius`
group by bbrId) B on `A`.BRID = B.bbrId
WHERE A.distance <= B.maxRadius
ORDER BY A.NAME
【问题讨论】:
标签: mysql sql codeigniter activerecord