【发布时间】:2020-04-28 12:51:27
【问题描述】:
我有一个表 A,它是在我使用 SELECT_A 代码和表 B 时创建的,它是与 SELECT_B 代码一起使用的。此外,我有表 C,其中一列是 DATE。 我想创建一个查询,以便如果表 C 中的最大(最新)日期(比如说它在表 SELECT_C 中)低于今天,那么 SQL 运行 SELECT_A 查询,否则运行 SELECT_B 查询。
但是,我不知道这在技术上是如何实现的。我想用这个方法,但是没用:
CREATE temp TABLE SELECT_A (DATE TEXT, PRICE INTEGER);
INSERT INTO SELECT_A VALUES
('2019-04-27 01:00', 1), ('2019-04-27 02:30', 3), ('2019-04-27 18:00',2),
CREATE temp TABLE SELECT_B (DATE TEXT, PRICE INTEGER);
INSERT INTO SELECT_B VALUES
('2019-05-02 21:00', 6);
CREATE temp TABLE SELECT_C (DATE TEXT, PRICE INTEGER);
INSERT INTO SELECT_C VALUES
('2020-05-02', 55555);
因此,由于表 SELECT_C 中 DATE 列中的日期低于今天,SQL 应该运行 SELECT_B
if ((select(max(DATE::TIMESTAMP) from SELECT_C)<current_date) then SELECT_A else SELECT_B
你能帮忙吗?
【问题讨论】:
-
您的问题对读者来说不是很清楚。你能添加几行样本数据和预期的结果吗?否则我可以看到您的问题已关闭。
-
@TheImpaler 谢谢,我添加了进一步的描述。