Python 基于备用字段在sql查询中组合2列
我在数据库中有两列(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中,它类似于: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
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语句。