在基于替换字段的sql查询中组合2列

2024-05-01 20:41:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据库中有两列(sent\u time、accept\u time),每列都包含时间戳,还有一个字段可以有两个不同的值(ref\u col)。我想在查询中找到一种方法来创建一个新列(result\u col),它将检查ref\u col的值,如果值为1,则复制sent\u time,如果值为2,则复制accept\u time

我使用pandas来用python查询数据库,如果这与答案有任何关系的话


Tags: 方法答案ref数据库pandastime关系时间
2条回答

只需使用case表达式语句

SELECT sent_time,
       accept_time,
       ref_col,
       CASE WHEN ref_col = 1 THEN sent_col
            ELSE accept_col
        END AS result_col
  FROM Your_Table

当你说“我在数据库中有2列”时,你的实际意思是在表中有2列,对吗

在sql for postgresql中,它类似于:

select (case when ref_col = 1 then sent_time else accept_time end) as result_col
from mytable

我不知道这与SQL标准有多接近,但我会假设这并不遥远

相关问题 更多 >