有问题的结构由5个表组成:
1。
create_table "attendees", force: :cascade do |t|
t.integer "id", primary_key: true
t.string "email", null: false
t.string "first_name", null: false
t.string "last_name", null: false
t.integer "fly_in_id", null: false
end
2。
create_table "events", force: :cascade do |t|
t.integer "id", primary_key: true
t.string "title", null: false
t.string "attendance_type", default: "specific", null: false
t.integer "fly_in_id", null: false
end
3。
create_table "attendees_events", force: :cascade do |t|
t.integer "attendee_id", null: false
t.integer "event_id", null: false
end
这些在数据库中。现在,我还有两个额外的临时表,分别代表与会者和事件:
4。
create_table "tmp_attendees", force: :cascade do |t|
t.string "email", null: false
t.string "first_name", null: false
t.string "last_name", null: false
t.string "title", null: false
end
标题为与会者与tmp_event / event之间的链接
5。
create_table "tmp_events", force: :cascade do |t|
t.string "title", null: false
t.string "attendance_type", default: "specific", null: false
t.integer "fly_in_id", null: false
end
我需要的查询:对于每个tmp_event,所有在tmp_attendees中且未链接到数据库的参与者(attendees_events)(tmp事件对应于数据库中的事件100%)。
说明:参加者可以参加活动(在数据库中,此表由表与会者“ _参加者”中的每个参加者参加的活动表显示)
在tmp_attendees表中,在tmp_attendees标题中的title列所指示的事件中应该有与会者。我想检查数据库中是否为真。 (所以我知道是否必须创建这样的链接)。
条件:tmp_attendees通过电子邮件链接到与会者。 tmp_attendees通过标题链接到事件/ tmp_events。
我会很乐意提供任何必要的信息