SQL在另一个查询中使用UNION查询的结果

丹尼尔·陈(Daniel Chen)

如何完成此查询?

现在,我正在使用的查询就是这个,但它不能产生正确的数据。

SELECT date, coalesce(count,0) AS count 
FROM 
    generate_series(
        '2014-12-13 12:00:00'::timestamp, 
        '2015-01-06 11:00:00'::timestamp, 
        '1 hour'::interval
    ) AS date 
    LEFT OUTER JOIN (
        SELECT 
            date_trunc('day', TABLE1.created_at) as day, 
            count(DISTINCT TABLE1.user) as count 
        FROM TABLE1 
        WHERE org_id = 1 
        GROUP BY day
    ) results ON (date = results.day);

代替TABLE1,我需要向查询提供另一个查询的数据,如下所示:

SELECT TABLE2.user_a as userid, TABLE2.created_at as createdat from TABLE2 
UNION ALL 
SELECT TABLE3.user_b as userid, TABLE3.created_at as createdat from TABLE3 
UNION ALL 
SELECT TABLE4.sender as userid, TABLE4.created_at as createdat from TABLE4;

我该怎么做呢?

穆雷尼克

select接收表查询的任何部分(例如,from子句,join子句等)都可以接收括号中的查询-这称为子查询。请注意,在Postgres中,必须该子查询一个别名(即可以被其引用的名称)。因此,在您的情况下:

SELECT date, coalesce(count,0) AS count 
FROM 
    generate_series(
        '2014-12-13 12:00:00'::timestamp, 
        '2015-01-06 11:00:00'::timestamp, 
        '1 hour'::interval
    ) AS date 
    LEFT OUTER JOIN (
        SELECT 
            date_trunc('day', subquery.created_at) as day, 
            count(DISTINCT subquery.user) as count 
              -- Subquery here:
        FROM (SELECT TABLE2.user_a as userid, TABLE2.created_at as createdat from TABLE2 
              UNION ALL 
              SELECT TABLE3.user_b as userid, TABLE3.created_at as createdat from TABLE3 
              UNION ALL 
              SELECT TABLE4.sender as userid, TABLE4.created_at as createdat from TABLE4) 
             subquery 
        WHERE org_id = 1 
        GROUP BY day
    ) results ON (date = results.day);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL:在另一个查询中使用一个查询的结果

来自分类Dev

在另一个查询中使用查询结果

来自分类Dev

在另一个查询中使用SQL查询结果

来自分类Dev

在另一个查询中使用sql查询的结果

来自分类Dev

在另一个查询中使用MySQL结果

来自分类Dev

在另一个查询中使用一个RethinkDB查询的结果?

来自分类Dev

在另一个查询中使用一个查询的结果

来自分类Dev

MySQL-在另一个查询中使用一个查询的结果

来自分类Dev

在一个查询中使用结果在另一个查询中使用-Orace MySql

来自分类Dev

SLICK:如何在另一个查询中使用查询结果?

来自分类Dev

在另一个linq查询中使用结果linq查询

来自分类Dev

MySQL-在子查询中使用另一个查询的结果

来自分类Dev

MySQL在另一个查询中使用选择查询结果与逻辑或

来自分类Dev

如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

来自分类Dev

如何在另一个查询的LIKE条件下使用SQL查询结果?

来自分类Dev

在另一个查询的LIKE条件下如何使用SQL查询结果?

来自分类Dev

从php中最后执行的mysqli查询中获取结果,并在另一个查询中使用结果

来自分类Dev

使用另一个查询的结果更新表

来自分类Dev

在另一个私有void方法中使用查询结果

来自分类Dev

如何在联合查询中的另一个选择中使用选择的结果?

来自分类Dev

如何在另一个 MDX 中使用 MDX 查询的结果?

来自分类Dev

如何在rethinkdb中使用另一个查询的结果插入?

来自分类Dev

在另一个查询中使用 SCOPE_IDENTITY 结果

来自分类Dev

将一个查询的结果传递给SQL中的另一个查询

来自分类Dev

Codeigniter在另一个查询中使用查询结果的一部分

来自分类Dev

在mysql列中使用另一个查询

来自分类Dev

如何在另一个查询中使用来自orientjs查询的数组结果-数组不是“数组”

来自分类Dev

SQL更新表使用另一个查询的结果

来自分类Dev

如何使用查询结果选择到SQL Server中的另一个表

Related 相关文章

  1. 1

    SQL:在另一个查询中使用一个查询的结果

  2. 2

    在另一个查询中使用查询结果

  3. 3

    在另一个查询中使用SQL查询结果

  4. 4

    在另一个查询中使用sql查询的结果

  5. 5

    在另一个查询中使用MySQL结果

  6. 6

    在另一个查询中使用一个RethinkDB查询的结果?

  7. 7

    在另一个查询中使用一个查询的结果

  8. 8

    MySQL-在另一个查询中使用一个查询的结果

  9. 9

    在一个查询中使用结果在另一个查询中使用-Orace MySql

  10. 10

    SLICK:如何在另一个查询中使用查询结果?

  11. 11

    在另一个linq查询中使用结果linq查询

  12. 12

    MySQL-在子查询中使用另一个查询的结果

  13. 13

    MySQL在另一个查询中使用选择查询结果与逻辑或

  14. 14

    如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

  15. 15

    如何在另一个查询的LIKE条件下使用SQL查询结果?

  16. 16

    在另一个查询的LIKE条件下如何使用SQL查询结果?

  17. 17

    从php中最后执行的mysqli查询中获取结果,并在另一个查询中使用结果

  18. 18

    使用另一个查询的结果更新表

  19. 19

    在另一个私有void方法中使用查询结果

  20. 20

    如何在联合查询中的另一个选择中使用选择的结果?

  21. 21

    如何在另一个 MDX 中使用 MDX 查询的结果?

  22. 22

    如何在rethinkdb中使用另一个查询的结果插入?

  23. 23

    在另一个查询中使用 SCOPE_IDENTITY 结果

  24. 24

    将一个查询的结果传递给SQL中的另一个查询

  25. 25

    Codeigniter在另一个查询中使用查询结果的一部分

  26. 26

    在mysql列中使用另一个查询

  27. 27

    如何在另一个查询中使用来自orientjs查询的数组结果-数组不是“数组”

  28. 28

    SQL更新表使用另一个查询的结果

  29. 29

    如何使用查询结果选择到SQL Server中的另一个表

热门标签

归档