首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列上的Postgresql操作

列上的Postgresql操作
EN

Stack Overflow用户
提问于 2017-09-03 20:22:07
回答 1查看 608关注 0票数 0

我想计算劳动人民的每日收入。我用pgadmin III和postgresql 9.5.8创建了postgresql数据库,人们可以输入日期、每天的开始时间和结束时间以及费率小时。从这些信息,我希望数据库计算工作时间(开始-结束)和每日收入(工作时间*费率小时)。我怎么能在pgadmin III上做到这一点呢?当我使用查询函数时,我知道如何做到这一点,但我不希望它成为查询,而是作为数据库中的列。有可能吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-03 21:02:11

如果我正确地理解了您,您需要一个表,其中一些列具有基于其他列的计算值。

这样做的一种方法是使用视图。它可以像普通表一样使用,但只有在某些查询中使用它时才会计算它的列值。

假设example表包含start_hourend_hourrate列,下面是一个基于您的解释的简单视图:

代码语言:javascript
复制
CREATE VIEW example_view AS
SELECT
  start_date, start_hour, end_hour, rate,
  (end_hour-start_hour) AS work_time,
  (end_hour-start_hour) * rate AS daily_income
FROM example;

您可以像普通表一样使用它(选择form,连接到它,其他表等等)。下面是示例中的小提琴,还有一个类似的视图,没有重复的work_time计算逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46027505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档