Python 基于备用字段在sql查询中组合2列

Python 基于备用字段在sql查询中组合2列,python,sql,database,Python,Sql,Database,我在数据库中有两列(sent_time、accept_time),每列都包含时间戳,还有一个字段可以有两个不同的值(ref_col)。我想在查询中找到一种方法来创建一个新列(result\u col),它将检查ref\u col的值,如果值为1,则复制sent\u time,如果值为2,则复制accept\u time 我正在使用pandas以python查询数据库,如果这与答案有任何关系的话。当你说“我在数据库中有2列”时,你的实际意思是在表中有2列,对吗 在sql for postgresq

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

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

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

在sql for postgresql中,它类似于:

select (case when ref_col = 1 then sent_time else accept_time end) as result_col
from mytable
我不知道这与SQL标准有多接近,但我会假设这并不遥远。

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

在sql for postgresql中,它类似于:

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

我不知道这与SQL标准有多接近,但我认为这并不遥远。

只需使用
case
表达式语句:


只需使用
case
expression语句:


是的,我是指表格,我正在检查这个解决方案,但它似乎正在工作是的,我是指表格,我正在检查这个解决方案,但它似乎正在工作谢谢,我是SQL的初学者,所以我还不知道case语句。谢谢,我是SQL的初学者,所以我还不知道case语句。