我有一个相当复杂的查询,它基于子查询对结果进行排序。这可以很好地工作。查询如下。
SELECT enrollments.*, users.*
FROM enrollments
INNER JOIN users
ON enrollments.user_id = users.id
WHERE enrollments.preview = FALSE
ORDER BY (
SELECT COUNT(progress_tracker)
FROM progress_tracker
WHERE progress_tracker.enrollment_id = enrollments.id
AND progress_tracker.completed = TRUE
)在这里,我从用户和注册表中选择字段。理想情况下,我希望sql结果中再有一个字段。此字段表示ORDER BY sql的结果:
SELECT COUNT(progress_tracker)
FROM progress_tracker
WHERE progress_tracker.enrollment_id = enrollments.id
AND progress_tracker.completed = TRUE是否可以从该查询创建一个字段,并将其附加到每一行的结果中?行的名称应该适当地称为enrollment_progress_tracker_completed_count。如果是这样,我该怎么做呢?
https://stackoverflow.com/questions/41575201
复制相似问题