我有一个人员可用性表:
+---+---+---+---+---+---+
| M | T | W | F | S | S |
+---+---+---+---+---+---+
Olivier | | | | | X | X |
+---+---+---+---+---+---+
Georges | X | | | X | | |
+---+---+---+---+---+---+
所以我有三张桌子:
- 可用性
- 人
- person_availability
我正在做如下查询:
SELECT p.*
FROM person p
JOIN person_availability pa
ON p.id=pa.person_id
JOIN availability a
ON a.id=pa.availability_id
WHERE p.id = ?
AND a.day in (?)
带有动态参数。示例:param1=1
和 param2=(1,4,5)
问题是此查询返回在这些可用性之一中可用的人员行。如何改变拥有所有这些可用性的人(1,4,5)
?