查询日期和限制(在DQL中可选)

时间:2013-05-28 18:22:31

标签: mysql sql doctrine-orm doctrine dql

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

ERD image
查询参数:id_category,日期,时间 我想要的是获得ServicePoints:

     
  • 来自选择类别
  •  
  • 在选定的日期和时间中访问量少于ServiceCategory中的限制
  •  
  • 按ServicePoint id分组

在单词中我可以说我想找到在当前日期有可用插槽的对象。

最适合我的是DQL不清楚sql,但当然我可以转换它。

希望很清楚。

1 个答案:

答案 0 :(得分: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;