问题:
我想通过 URL 构造一个 Query-Builder。返回元组列表,包含参与者和参与者数据。在数据库中存在数百个具有唯一 ID 的参与者。每个参与者都可以有各种参与者数据。每次活动注册都会在数据库中创建一个新的参与者数据,通过电子邮件与参与者相关联。
例如:include|eventid|is|17||include|eventid|is|13__include|unsubscribed|is|True
我将它分成 AND 和 OR 查询。
与的
1. include|eventid|is|17||include|eventid|is|13 2. 包含|未订阅|是|真
或的
从第一个 AND 条件开始: 1. 包含|eventid|是|17 2. 包含|eventid|是|13
结果语法:
[(participant_id, partidipantdata_id), (participant_id, partidipantdata_id), ...],
例如:[(123,1240), (123,959), (123,1124), (123,1450), (134, 1670), ( 156,1950), (123,1450), (156,2000), (220,2100), (234, 1754), (156,1121), (278,1556), (281,1671), (278, 1771), (156,2111), (312,2254), (289,967), (278, 2178)]
问题:
· 如何正确组合(联合)OR 查询(participant_id、participantdata_id)?--> 查询各种事件需要participant_id,查询未订阅的各种事件(存储在participantdata中的信息)需要participantdata_id
两者都需要:participant_id和participantdata_id来获得最终结果查询。
问题:
例如查询:事件#17 和事件#13 以及所有已取消订阅此事件的参与者数据。(结果:3 个查询:#13 的参与者以及 #17 的参与者以及所有对系统中的某些事件取消订阅的参与者)。
所以我可以将 17 和 13 的参与者 ID 相交。但是,要获得此事件的所有取消订阅,我必须将事件 #13 的参与者数据 ID 与事件 #17 和取消订阅相交。但这不起作用,因为每次注册事件都会创建参与者的新参与者数据。访问#13 和#17 的参与者将不匹配。那就是问题所在!
· 问题来自与查询(与或查询的结果相交)。
非常感谢!克里斯