【发布时间】:2014-02-15 13:22:27
【问题描述】:
我正在尝试从 SQL Server 2008 中的查询中获取一些记录。
table的存储方式是这样的
P_Id Activity_Id
-----------------------
1234 53
1234 510
4567 65
4567 510
3456 53
3456 540
5678 53
5678 510
现在我需要得到的是哪个 P_Id 预订了活动 53 和 510 或 65 和 510
如果我这样做,它不会给我任何记录
SELECT P_Id FROM ActivitiesPerPerson WHERE Activity_Id = 53 AND Activity_Id = 510
如果我这样做
SELECT P_Id FROM ActivitiesPerPerson WHERE Activity_Id IN (53, 65, 510)
它给了我一些结果,但它给了我只预订了活动 53 的人和其他人。
我需要同时获取一起预订 53 和 510 的人员 ID 以及一起预订 65 和 510 的人员 ID。如果可能,所有结果都相同。
我有一个关于这个的 sql fiddle http://sqlfiddle.com/#!3/b4c11/2
提前致谢
【问题讨论】:
标签: sql sql-server database resultset