0

MySQL データベースに少し複雑なクエリがあります。私は画像にある関係を持っています:

ERD画像
クエリ パラメータ: id_category、day、time

  • 選択したカテゴリから
  • 選択した日時の訪問数が ServiceCategory の制限を下回っている
  • ServicePoint id でグループ化

つまり、現在の日付で利用可能なスロットを持つオブジェクトを見つけたいと言えます。

私にとっては、明確なSQLではなくDQLが最適ですが、もちろんそれを変換できます。

それが明確であることを願っています。

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 に答える