SQLite.swift加入了缺少的信息

时间:2015-05-22 20:18:26

标签: ios sqlite swift sqlite.swift

我正在尝试使用SQLite.swift库在swift中加入几个表,我遇到了一些问题。以下代码显示了问题:

我先加入表格:

    let ext_tasks = tasks.join(tasktypes, on: tasktypes[tty_id] == tasks[task_type])
        .join(preUsers, on: preUsers[Worker_ID] == task_ownerID)
        .order(task_dueDate)
        .filter(task_ownerID == iUserID)

此时我已加入表格,taskstask typespreUsers中的所有字段都已正确显示。

以下我运行第二个连接语句:

    let ext_equipment = equipment.join(equipment_type, on: equipment_type[eqt_id] == equipment[equ_type])
        .join(facilities, on: facilities[fac_id] == equipment[equ_facid])
        .join(eqowners, on: eqowners[Worker_ID] == equipment[equ_owner])
        .order(equ_make)
        .filter(equ_status >= 0)

同样,在运行此语句后,我可以访问equipmentequipment_typefacilitieseqowners表中的所有字段,到此为止所有内容都按预期工作...

然而,我尝试使用以下方法加入上述两个结果:

    let comp_tasks = ext_tasks.join(ext_equipment, on: ext_equipment[equ_id] == ext_tasks[task_eqID])
        .order(task_dueDate)

这是我遇到问题的地方,似乎来自ext_tasks查询的表存在但只有equipment查询中的ext_equipment表可用。

此外,当我尝试访问"facilities"."facility_name"字段时,收到以下消息:该字段不存在:

致命错误:没有此类专栏""设施"。"设施名称"'在列中:

["设备"。" EquipmentType_ID","设备"。" Equipment_ID","设备"。& #34; Equipment_Owner_ID","设备"。" Facility_ID","设备"。"状态"," PreUsers&# 34;。" Client_ID"," PreUsers"。" Date_LastLogin"," PreUsers"。" First_Name",&# 34; TaskTypes"。" TaskType_ID"," TaskTypes"。" Type"," Tasks"。" Equipment_ID&#34 ;,"任务"。" Owner_ID","任务"。"优先","任务"。&#34 ; Time_Complete","任务"。" Time_Start"]:

(我删除了那里的一些列以缩短答案,总共显示了53个字段)但是你可以看到只显示第一个连接+设备表中的表,来自第二个查询的连接( equipment_type, facilities and eqowners)无处可见

如果有人能让我知道为什么会发生这种情况,我会很感激,这已经让我的脑子长达数小时了,而我却无法理解......

提前致谢!

0 个答案:

没有答案