我正在尝试将一组记录插入表中,这些记录将根据以下两种情况提取:
INSERT INTO table1 (pkid, time_created)
SELECT pkid, time_created,
CASE WHEN tgt_time >= src_time THEN tgt_time as time
WHEN src_time >= tgt_time THEN src_time as time
END
FROM temptable
WHERE time >= '0001-01-01' and time <= '2016-03-01';
我正在尝试关于何时使用2列中的任何一列来过滤日期以提取记录。这是可能的postgres或可能调整声明使其工作?
答案 0 :(得分:2)
列数错误:insert - 2,select - 3. inser into table1 (pkid, time_created, time)
可能错过的时间
答案 1 :(得分:1)
INSERT INTO table1 (pkid, src_time_created)
SELECT pkid, src_time_created FROM temptable
WHERE
CASE WHEN tgt_time >= src_time THEN tgt_time >= '0001-01-01' and tgt_time < '2016-03-01'
ELSE src_time >= '0001-01-01' and src_time < '2016-03-01'
END
这对查询进行了一些调整。