在LibreOffice Base SQL中查询2个字段的连接时出错

时间:2013-05-21 17:14:51

标签: sql concatenation hsqldb libreoffice-base

我对错误的终结表示道歉,我实际上并不是程序员,只是面临问题的Base用户。

我无法查询一个列,该列应该是两个独立表的两个字段的串联。我使用的是LibreOffice Base Version 1:3.6.2,它有默认的HSQL引擎。

我的两张表格如下:

表1的名称为"Prefectures",其中包含以下字段:ID,"Prefecture Name""State" 表2名为"Ward",并具有以下字段:ID,"Ward Name"和作为外键引用表1的“区域ID”。

我希望我的查询产生的是这两个列:“Ward Name,Prefecture Name”作为Ward.WardName和Prefecture.PrefectureName以及Ward ID的串联

例如。如果我有一个名为“Cebu”的县和一个名为“Lahug”且病房ID为0的病房,我希望查询在第1列提出“Lahug,Cebu”,在第2列提出“0”

我使用的基础教程似乎与实际的HSQL语言相比有一种修改过的语言,至少基于我的程序员朋友的反应。我知道属性被称为Table.Attribute,例如,在Base中,它们使用"Attribute",或者,如果我没有记错,当需要指定原始表时,{{1 }}。但是,我知道这种修改后的语言是有效的,因为我用它来创建我的两个表。

无论如何,冒着我从基础教程文档中学到的东西,我想出了:

"Table"("Attribute")

出现的错误消息是: “无法加载数据内容。拒绝访问:声明中的PREFECTURE [上面的整个代码]”

由于我的语法错误,我怀疑这是一个误读。也许我在这种情况下使用perentheses的猜测是错误的?如果是这样,为什么错误消息“拒绝访问”?我检查了两个表的记录和sql代码,两者都完全正常。

编辑:不,我不想只拆分这两个字段。我需要将它们连接起来,因为我要将它们用作我正在制作的表单的下拉列表中的列表项。

1 个答案:

答案 0 :(得分:0)

SQL查询就是这个。你说你的表被称为“Prefectures”和“Ward”,它们在FROM子句中使用。

SELECT "Ward Name" || ', ' || "Prefecture Name" AS "Wrd_Pref", "Ward ID"
FROM "Prefectures" INNER JOIN "Ward" ON "Prefectures"."Prefecture ID" = "Ward"."Prefecture ID";