【问题标题】:How to display multiple select statements into one table?如何在一张表中显示多个选择语句?
【发布时间】:2022-10-25 04:06:09
【问题描述】:

我正在尝试合并所有这些选择语句,并让输出显示 5 个具有指定列名的不同列。我尝试了 UNION 但那是将值合并到一列中。另外,我正在使用 round 函数来限制平均值的小数位数。除了圆形功能之外,还有更好的方法吗?我是 SQL 新手。

(select round(avg("TotalPay")::int,2) as "($)Fire Department Average Pay"
from sf_fire sf)

(select round(avg("TotalPay")::int,2) as "($)Medicine Department Average Pay"
from sf_medicine sm)

select round(avg("TotalPay")::int,2) as "($)Police Department Average Pay"
from sfs_police sp 

select round(avg("TotalPay")::int,2) as "($)Not dep Department Average Pay"
from sfs_notdep sn 

select round(avg("TotalPay")::int,2) as "($)Other Department Average Pay"
from sfs_other so 

【问题讨论】:

标签: postgresql


【解决方案1】:

因为这是单行,所以您可以将它们作为子选择来执行。

select
  (select round(avg("TotalPay")::int,2) from sf_fire) as '($)Fire Department Average Pay',
  (select round(avg("TotalPay")::int,2) from sf_medicine) as '($)Medicine Department Average Pay',
  (select round(avg("TotalPay")::int,2) from sfs_police) as '($)Police Department Average Pay',
  (select round(avg("TotalPay")::int,2) from sfs_notdep)  as '($)Not dep Department Average Pay',
  (select round(avg("TotalPay")::int,2) from sfs_other) as '($)Other Department Average Pay';

请注意,列别名超出了子查询,并且不需要表别名。

注意:这表明单个表可能比多个表更好。

【讨论】:

    猜你喜欢
    • 2013-02-28
    • 2012-01-30
    • 2021-11-14
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多