问题:
我想通过URL构造一个查询生成器。Return是元组的列表,包含参与者和参与者数据。数据库中存在数百个具有唯一id的参与者,每个参与者可以拥有不同的参与者数据。每个事件注册在数据库中创建一个新的参与者数据,通过电子邮件与参与者相关。在
e.g.: include|eventid|is|17||include|eventid|is|13__include|unsubscribed|is|True
我把它分成AND和OR查询。
和
或者是
From first AND Condition: 1. include|eventid|is|17 2. include|eventid|is|13
结果语法:
[(participant_id, partidipantdata_id), (participant_id, partidipantdata_id), ...],
e.g: [(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)?
-->;各种事件的查询需要参与者的id,查询未订阅的各种事件(存储在participantdata中的信息)需要participantdata的id
两者都需要:participant_id和participantdata_id才能得到最终结果查询。
问题:
E、 g.查询:事件17和事件13以及所有已取消订阅此事件的参与者数据。(结果:3个问题:13个参与者和17个参与者,以及系统中某个事件中有不明嫌犯的所有参与者)。
这样我就可以把参与者的身份证号17和13进行交集。不过,要想得到这个事件的所有不明嫌犯,我必须对事件13、事件17和不明嫌犯的参与者数据进行交集。但这是行不通的,因为每次活动注册都会创建一个参与者的新参与者数据。第13次和第17次访问的参与者将不匹配。这就是问题所在!
·问题在于AND查询(OR查询的结果相交)。在
非常感谢! 克里斯
为每个匹配的记录返回UID的^{} 。{cd1>中的{-union>函数可以使用。在
对于每个可能的结果,UID必须是唯一的。在本例中,一个可能的结果是一个特定的参与者数据,它将由(participant data id,participant data id)唯一标识,因此您可以使用它,这意味着您只需返回一个
set
,而不是list
。在元组不是这里最有效的数据类型,但我认为这对您的情况并不重要。在
相关问题 更多 >
编程相关推荐