0

我在 MySQL 数据库中有一些复杂的查询。我在图像上有关系:

ERD 图像
查询参数:id_category、day、time 而我想要的是获得 ServicePoints,它们是:

  • 从选定的类别
  • 在选定的日期和时间,访问次数少于 ServiceCategory 中的限制
  • 按 ServicePoint id 分组

换句话说,我可以说我想找到在当前日期有可用插槽的对象。

对我来说最好的是在 DQL 中不清楚 sql,但我当然可以转换它。

希望很清楚。

4

1 回答 1

1

像这样的东西应该工作:

 SELECT sp.id
 FROM servicepoint sp
      INNER JOIN visit vt 
            ON sp.id = vt.id_service_point
 WHERE sp.category_id = categoryId    --categoryId is query param
       AND start >= startTime          --starttime is query param
       AND end <= endTime              --endTime is query param   
 GROUP BY sp.id
 HAVING COUNT(vt.id) < sp.visit_limit;
于 2013-05-28T18:49:16.013 回答