繁体   English   中英

加入两个子查询 select 语句不起作用

[英]join for two subquery select statement does't work

我正在尝试加入两个 select 语句/查询,以获得结合结果的数据集。 这两个查询分别工作得很好,但是当我尝试使用 join 组合它们时,会发生错误。 错误:第 10 行的“select”处或附近的语法错误,position 1。有人可以帮我,谢谢!

select * from
(
  select dt, count(*) over (order by dt asc) as cumuA from
     (Select date_trunc('week',block_time) AS dt,"from" as sender 
     FROM data where "to" = 'xxxx') 
   as AAA

join 

    Select dt, count(*) over (order by dt asc) as cumuB from ( 
      Select min(date_trunc('week',block_time)) dt, "from" as sender from data where "to" = 'xxxx'
       group by sender)
    as BBB

ON AAA.dt = BBB.dt
)

我不是在看查询实际做了什么,或者是否有更好的方法:只是解决报告的错误。

SELECT * FROM 
(
SELECT * 
 FROM (SELECT dt, count(*) over (order by dt asc) as cumuA 
       FROM (SELECT date_trunc('week',block_time) AS dt,"from" as sender 
             FROM data 
             WHERE "to" = 'xxxx'
            ) as aa
      ) as AAA
join 

SELECT * FROM --< this line makes no sense.  One need not select again after the join. the inline view BBB is sufficient. and the select is just a syntax error.  

(SELECT dt, count(*) over (order by dt asc) as cumuB 
      FROM (SELECT min(date_trunc('week',block_time)) dt, "from" as sender 
            FROM data 
            WHERE "to" = 'xxxx'
            GROUP BY sender
           ) AS bb
      ) as BBB

  ON AAA.dt = BBB.dt
)

我认为你需要它是:

SELECT * FROM 
(
SELECT * 
 FROM (SELECT dt, count(*) over (order by dt asc) as cumuA 
       FROM (SELECT date_trunc('week',block_time) AS dt,"from" as sender 
             FROM data 
             WHERE "to" = 'xxxx'
            ) as aa
      ) as AAA
join 
(SELECT dt, count(*) over (order by dt asc) as cumuB 
      FROM (SELECT min(date_trunc('week',block_time)) dt, "from" as sender 
            FROM data 
            WHERE "to" = 'xxxx'
            GROUP BY sender
           ) AS bb
      ) as BBB

  ON AAA.dt = BBB.dt
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM