请教:LibreOffice Base 查询字段表达式怎么写?
libreoffice吧
全部回复
仅看楼主
level 1
stlinax 楼主
LibreOffice Base里做一个查询,想添加一个字段“金额”,等于“单价”乘以“件数”。
我用Access的方法写了,但是提示表达式错误。
网上找了很多地方都没有找到表达式的写法。
2019年01月03日 08点01分 1
level 1
之前没用过 LibreOffice Base,也没用过微软的 Access,但曾经用过 MySQL,
琢磨了一下,觉得LZ的问题在于——想在查询里添加一个字段“金额”,
而实际上“查询”只能添加“查询的条件”,只有在数据库的数据表里,才能添加字段。
我还没学会“在设计视图中创建查询”以及“使用向导创建查询”的方法,
不过“在SQL视图中创建查询”却感觉很简单:如下图所示,
原“产品”表里,有电视机和电冰箱的单价和订货量,字段里没有“金额”,也不需要“金额”,然后用SQL语句查询:
SELECT * FROM 产品 WHERE 单价*订货量<3000;
然后保存查询、保存数据库文件,再次打开这个数据库时,双击“查询1”,
就能看到“SQL查询”已经自动转化成了“在设计视图中查询”的样子了。
在“SQL查询”里的 “SELECT * ” 变成了“设计视图”里的“ 产品.* ”
如果你想在查询结果中只显示某一两个字段,就把*号换成字段名称即可。
" FROM 产品 "意思就是在“产品”这个表里查询,
然后SQL里的查询条件“ WHERE 单价*订货量<3000; ”在“设计视图”里变成可以直接把公式写入字段“"单价" * "订货量"”,不需要另外添加“金额”字段,这个公式的计算结果“ <3000 ”才是条件,写入“设计视图”里条件中,点击“执行查询(F5)”按钮就可以看到结果了。
2019年01月04日 02点01分 2
注意在“在设计视图中查询”里,公式写在字段里,字段的名称需要加上英文引号,不用勾选“可见的”,条件最后不用加分号(SQL语句才用加分号结尾)。
2019年01月04日 02点01分
@bonnyjoe 非常感谢,已经搞定,可以在别名那里填“金额”,查询时自动用别名了。[]
2019年01月04日 03点01分
@bonnyjoe 请问大佬,base可以像access那样动态链接Excel吗?calc更新,base自动更新,我找了半天都木有啊
2020年07月27日 07点07分
level 1
stlinax 楼主
感谢吧友“bonnyjoe”。
在字段处填写:"单价"*"件数"
在别名处填写:金额
然后运行查询就可以搞定。
2019年01月04日 03点01分 3
我有个问题,假设我在“产品”表里添加了“金额”字段,想自动填充“单价*件数”的结果进去,在Base里应该怎么操作?如果是calc电子表格输入公式即可,但在Base里我在表里输入公式数值没用?
2019年01月04日 04点01分
@bonnyjoe 查询做好后将查询结果转为新表,access就是这么做的,你可以试试。数据库软件只是录入第一手的数据在表里,然后用查询来实现运算结果。当然,查询的结果可以转成新表,但新表中不含计算过程,只有结果数据。
2019年01月04日 05点01分
@stlinax 哦,原来如此,谢谢。看来办公软件的数据库真的是——介于电子表格和真正的数据库之间的“过渡产品”,操作上也有所区别。
2019年01月04日 05点01分
1