如何解决何时使用不存在插入选择?
当前,我正在使用Where插入新数据,如下面的代码所示。明显的问题是需要每天更改日期以插入新数据。下面是当前使用的代码:
INSERT INTO decisions (stock_id,date_price,last_updated_date,p_LT_d50,p_GT_d50)
SELECT stock_id,now(),adj_close_price < ub1_50_d,adj_close_price > ub1_50_d
FROM bollinger_bands
WHERE date_price = '8/04/2020';
我可以使用“不存在的地方”代替每天手动更改日期吗?我应该使用“哪里不存在”来解决我遇到的问题吗?如果是这样,我该为“选择中的哪里不存在”部分填写什么?
这是我到目前为止所拥有的:
INSERT INTO decisions (stock_id,adj_close_price > ub1_50_d
FROM bollinger_bands
WHERE NOT EXISTS (SELECT
感谢您的协助。
解决方法
您可以使用:
SELECT stock_id,date_price,now(),adj_close_price < ub1_50_d,adj_close_price > ub1_50_d
FROM bollinger_bands bb
WHERE bb.date_price > (SELECT max(d.date_price) FROM decisions d)
,
插入当天的数据:
INSERT INTO decisions (stock_id,last_updated_date,p_LT_d50,p_GT_d50)
SELECT stock_id,adj_close_price > ub1_50_d
FROM bollinger_bands
WHERE date_price = CURRENT_DATE;
插入表格中仍缺少的所有日期:
INSERT INTO decisions (stock_id,adj_close_price > ub1_50_d
FROM bollinger_bands
WHERE date_price NOT IN (SELECT date_price FROM decisions);
与NOT EXISTS
相同:
INSERT INTO decisions (stock_id,adj_close_price > ub1_50_d
FROM bollinger_bands bb
WHERE NOT EXISTS (SELECT * FROM decisions d WHERE d.date_price = bb.date_price);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。