【发布时间】:2013-07-08 18:53:30
【问题描述】:
问题:
我想通过 URL 构建一个查询生成器。返回是元组列表,包含参与者和参与者数据。在数据库中存在数百个具有唯一 ID 的参与者。每个参与者都可以有各种参与者数据。每个活动注册都会在数据库中创建一个新的参与者数据,通过电子邮件与参与者相关。
例如:include|eventid|is|17||include|eventid|is|13__include|unsubscribed|is|True
我将其分为 AND 和 OR 查询。
和的
或的
从第一个 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中的信息)需要partitiondata_id
两者都需要:participant_id和participantdata_id来获得最终结果查询。
问题:
例如。查询:事件 #17 AND 事件 #13 AND 所有已取消订阅此事件的 ParticipantDatas。 (结果:3 个查询:#13 的参与者以及#17 的参与者以及所有对系统中的某些事件取消订阅的参与者)。
所以我可以将 17 和 13 的参与者 ID 相交。但是,要获得此事件的所有取消订阅,我必须将事件 #13 的参与者数据 ID 与事件 #17 和取消订阅相交。但这不起作用,因为每次注册事件都会创建参与者的新参与者数据。访问 #13 和 #17 的参与者将不匹配。那就是问题所在!
· 问题来自与查询(与或查询的结果相交)。
非常感谢! 克里斯
【问题讨论】:
-
请提供更多包含123、1240等的样本数据
标签: python list tuples union intersection