You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中关联两表并按规则更新comments表stage字段

更新说明

我已更新fiddle中的UPDATE语句,虽可运行但未得到预期结果,目前暂无解决思路

核心问题

无法获取comments.created_at之前或等于该时间的最后一个有效statuses.type

表结构与关联规则

现有comments和statuses两张表,需按candidate_id关联;两表中candidate_id不唯一,但同一候选人的statuses.type不会重复。

更新规则

需按以下规则更新comments表的stage字段:
stage字段值为AT_CALLCENTER或AT_SITE,由关联得到的statuses.type决定,映射规则如下:

AT_SITE: [
    'PENDING_SITE',
    'CONSENTED',
    'RANDOMIZED',
    'REJECTED_SITE',
    'REJECTED_CONSENTED',
    'REJECTED_RANDOMIZED',
  ],

AT_CALLCENTER: ['PENDING_CALLCENTER', 'REJECTED_CALLCENTER'],

需匹配评论创建时间(comments.created_at)之前或等于该时间的最后一个statuses.type,再根据上述规则确定stage值。

预期更新结果

idcandidate_id(候选人ID)user_id(用户ID)contentcreated_atupdated_atdeleted_atstage
13290Hello comment!!!2019-04-16 08:24:14.916743+012019-04-16 08:25:33.635+012019-04-16 08:25:33.635+01AT_CALLCENTER
23240test2019-04-16 13:41:09.846586+012019-04-16 13:41:09.846586+01nullAT_SITE
38256This is a comment2019-04-17 12:49:48.526793+012019-04-17 12:49:48.526793+01nullAT_SITE
43240Cool!2019-04-24 09:39:20.233621+012019-04-24 09:39:20.233621+01nullAT_SITE
21411-00290i tried the candidate2019-06-24 15:15:23.775236+012019-06-24 15:15:23.775236+01nullAT_CALLCENTER

上述表格为关联两表并更新stage字段后的预期结果,目前暂无可行实现方案,期望得到正确的SQL语句以达成需求。


内容的提问来源于stack exchange,提问作者Jakub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:40:41