【发布时间】:2021-04-07 13:37:33
【问题描述】:
我有一个现有的 Excel 公式。逻辑是这样的:
- 当表 2“日期/时间”中的日期大于表 1“Open_Date”时开始查找
- 当表 2“日期/时间”上的日期小于表 1“Close_Date”时停止查找
- 如果表 1“操作”显示“买入”,则查找表 2“低”小于表 1 列 L“FixedSL”的位置。
- 如果表 1“Action”显示“卖出”,则查找表 2“高”小于表 1 列 L“FixedSL”的位置。
- 如果找到匹配项,则返回表 2 中的“日期/时间”并覆盖表 1“Time_Hit_Fixed_SL”中该行的值。
以下是数据表的示例: 表一
Open_Date, Close_Date, Action, FixedSL, Time_Hit_Fixed_SL
6/1/2020 3:56, 6/1/2020 4:24, Buy, 1.8502, 6/1/2020 5:01
6/1/2020 4:44, 6/1/2020 8:19, Sell, 1.8411, 6/1/2020 10:12
6/1/2020 8:22, 6/1/2020 8:54, Sell, 1.8335, 6/1/2020 10:12
表 2
Date/Time, Open, High, Low, Close
06/01/2020 03:57, 1.8503, 1.8503, 1.8501, 1.8501
06/01/2020 03:58, 1.8501, 1.8503, 1.8501, 1.8502
06/01/2020 03:59, 1.8501, 1.8504, 1.8501, 1.8504
06/01/2020 04:00, 1.8501, 1.8505, 1.8501, 1.8503
06/01/2020 04:01, 1.8504, 1.8504, 1.8504, 1.8504
表 1 第一行的论坛输出将是 06/01/2020 03:57 覆盖“Time_Hit_Fixed_SL”列中的现有值。
我想要完成的是在 SQL 中使用 2 个表中的数据执行相同的操作。
我是 SQL 新手并进行了搜索,但找不到正确的方向来获得有关从哪里开始编写查询以替换高级 excel 公式逻辑的指导。感谢您的帮助和指导!
【问题讨论】:
-
编辑您的问题并显示您想要的结果。同时标记您正在使用的数据库。
-
在 SQLite 中,唯一可比较的文本日期时间格式是
YYYY-MM-DD hh:mm:ss。更改日期的格式,并在问题中添加您的预期输出以阐明您想要的内容。 -
表格中,日期时间字段类型为整数。那是对的吗?请说明我还需要对预期输出说些什么?它在表 2 之后的行。让我知道需要更多信息。
-
如果所有的日期时间都是整数,那就没问题了。预期的输出是指 Table1 更新后的样子。
标签: sql excel sqlite sql-update