如何在视图中创建列

时间:2018-03-08 01:19:59

标签: sql postgresql view

我正在尝试从两个不相关的表中收集计数并将它们表示为View,如何将这两个值放在我将在飞行中创建的不同列中?我正在尝试这样的事情

 CREATE VIEW entries AS
   SELECT count(*)
     FROM p as newEntries
 UNION ALL
   SELECT count(*)
     FROM s as totalEntries

2 个答案:

答案 0 :(得分:1)

您可以将两个计数查询列为子查询:

CREATE VIEW entries AS
    (SELECT COUNT(*) FROM p) AS newEntries,
    (SELECT COUNT(*) FROM s) AS totalEntries
FROM dual

答案 1 :(得分:0)

蒂姆回答回答你的问题。

然而,当我比较不同表中的行数时(例如,在迁移过程中我必须检查一堆行)时,您的尝试并不是那么糟糕(从我的角度来看)因为我经常使用它桌子一次)。

以下是:添加另一列,其中显示了COUNT函数的

SQL> create or replace view v_count as
  2  select 'EMP' source, count(*) cnt from emp
  3  union all
  4  select 'DEPT', count(*) from dept;

View created.

SQL> select * from v_count where source = 'EMP';

SOUR        CNT
---- ----------
EMP          14

SQL> select * from v_count;

SOUR        CNT
---- ----------
EMP          14
DEPT          4

SQL>