1

我对 OpenOffice Base 很陌生,但对 SQL 不是。

我想将连接的结果插入到表中。它适用于简单的情况:

insert into "tbl1" ("last_name", "first_name") 
select "last_name", "first_name" from "contacts" 

但不与

insert into "tbl1" ("last_name", "first_name") 
select "contacts.last_name", "contact2.first_name"
from "contacts" INNER JOIN "contact2" 
    on "contacts.last_name" = "contact2.last_name" 
    and "contacts.first_name" = "contact2.first_name"

我收到此错误:

1:未找到列:语句中的contacts.last_name
[插入“tbl1”(“last_name”,“first_name”)选择
来自“联系人”的“contacts.last_name”、“contact2.first_name”
在“contacts.last_name”=“contact2.last_name”上内部加入“contact2”
和 "contacts.first_name" = "contact2.first_name"]

contacts.last_name存在并填充了数据。

我检查了文档但没有看到它,所以我希望有人提供应该是一个简单的答案。另外我想知道如何将结果(而不是插入)写入 csv 文件。我认为,INTO TEXT 子句反对连接。

谢谢。

4

1 回答 1

1

您需要在每个由两部分组成的列引用上附加一组双引号 - 表名和列名被单独引用"contacts"."last_name"

编辑:我知道获取查询的 CSV 文件的方法是将查询结果导入 Calc,然后将 Calc 文件另存为 CSV。请参阅有关将基本查询(或表)导入 Calc 的本指南:[教程] 在 Calc 中使用已注册的数据源

于 2015-09-18T18:00:52.063 回答