首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子查询在两个不同的时间列中

子查询在两个不同的时间列中
EN

Stack Overflow用户
提问于 2022-02-15 03:11:47
回答 1查看 27关注 0票数 0

我尝试过这样做,但是它说错误:子查询必须只返回一列

代码语言:javascript
复制
 Select date_trunc('week', kyc.kyc_verify_date::timestamptz) as "week",
        COUNT(*) filter (where kyc.status = 4) AS "A1",
        COUNT(CASE WHEN kyc.status = 5 
              THEN 
                   (Select date_trunc('week', kyc.last_update_time::timestamptz) AS "week",
                        count(*) filter (where kyc.status = 5)
                    From kyc
                    Group by 1)
              END) AS "A2"
from KYC 
Where kyc.kyc_verify_date >= date_trunc('week', CURRENT_TIMESTAMP - interval '4 week') 
       and kyc.kyc_verify_date < date_trunc('week', CURRENT_TIMESTAMP)
Group by 1

我做这个查询是为了得到这样的结果:如果status = 4将取日期为kyc_verify_date

但是如果status = 5愿意的话,日期是last_update_time

在这个查询中我应该更改什么?还是有更好的办法?

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 06:02:30

case表达式返回单个值的。因为您需要它的两个值,所以需要重复这个表达式。

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

https://stackoverflow.com/questions/71120691

复制
相关文章

相似问题

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