我的数据库中有三个表:

ts_room

栏位:

id (PK)
capacity
img
notes
building_id
roomstructure_id
lecturestyle_id


ts_request

领域

id (PK)
day_id
period_id
roompref_id (FK > ts_roompref.id)


ts_roompref

id (PK)
request_id (FK > ts_request.id)
room_id (FK > ts_room.id)


我想编写一个MySQL PDO查询,从ts_room中选择行,条件是在ts_roompref上运行行(对照ts_room.id检查ts_roompref.room_id)并找到匹配项之后,我们将在ts_request中查找值并查看day_id和period_id都匹配1。它将返回总数。

我希望以上解释是有道理的。

本质上-使用此系统发出房间请求,并且ts_roompref存储为每个请求做出的房间偏好。我试图确定是否在某一天和某个时段(在ts_request表中由day_id和period_id表示)预订了特定房间,在本例中为星期一(1)和时段(1)。

最佳答案

这个怎么样?

SELECT  COUNT(*) totalCOUnt
FROM    ts_room a
        INNER JOIN ts_roompref b
            ON a.id = b.room_ID
        INNER JOIN ts_request c
            ON b.request_ID = c.roompref_ID
WHERE   c.day_ID = 1 AND c.period_ID = 1


要进一步获得有关联接的知识,请访问以下链接:


Visual Representation of SQL Joins

关于mysql - 从表中选择值,因为不满足两个条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14886846/

10-11 20:46