脚本宝典收集整理的这篇文章主要介绍了PHP – MySQL合并我的选择,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
信息
我正在使用CodeignITer,如果它可能与你的答案有关系;).
问题
我在一个酒店的网站,试图找出如何做我的预订室.
我希望用户选择可用服务列表并返回给他们,包含这些服务(所有这些)的房间列表,之后,包含至少一个的列表.这样,我会向他们显示符合他们所有需要的房间列表,还有一个可能做的伎俩,但没有一切.
以下是我为我的房间存储我的服务(这可能会说谎我的问题…)
Table "services_rooms" id_services_rooms | id_room | id_service 1 | 1 | 1 2 | 1 | 2 3 | 1 | 3 5 | 1 | 5 11 | 2 | 2 12 | 2 | 3 ... | ... | ...
我如何设法做我的sql,要求我的服务器给我所有的房间包含服务1,2和3,因此,只有我的“id_room”1应该回来?
我试过做一些连接/ group_bys,但我得到的最多的是例子,3行回来说:
Return rows : ID_ROOM 1 | ID_SERVICE 1 ID_ROOM 1 | ID_SERVICE 2 ID_ROOM 1 | ID_SERVICE 3
看到它的另一种方式就是这样:我想问我的服务器哪些房间包含所有这些服务:1,2,3
它会回答:ID_ROOM 1.
我已经看到其他几个问题涉及到合并等等,但是不能很好地应用他们对我的问题的答案.
再次感谢.
SELECT id_room From services_rooms WHERE id_service IN (1,3) group by id_room HAVING COUNT(*) = 3
如果在id_service对ech id_room不强制执行唯一约束,则需要DISTINCT.
SELECT id_room From services_rooms WHERE id_service IN (1,3) GROUP BY id_room HAVING COUNT(DISTINCT id_service) = 3
以上是脚本宝典为你收集整理的PHP – MySQL合并我的选择全部内容,希望文章能够帮你解决PHP – MySQL合并我的选择所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。