【发布时间】:2020-11-25 21:03:49
【问题描述】:
我正在尝试使用 SQL 连接两个表。我希望将表 2 中的成本添加到表 1。过去的成本仅因服务而异,因此它是一个简单的连接,但数据已更改,现在成本也因位置和持续时间而异。
我可以根据位置而不是持续时间进行链接。表 1 中的持续时间存储为整数。在表 2 中,持续时间以“xx-xxxx”格式存储为文本范围。我尝试使用 substring/left 和 patindex 隔离新字段中的最小持续时间和最大持续时间。 (我使用的是通过 dbeaver 访问的缓存数据库,但无法使用 charindex)。
我能够提取最短持续时间作为“-”字符之前的文本,但无法提取最长持续时间,即使我有它,我也不知道如何加入表格。请帮忙!另外由于正在使用数据库,我此时只能编写选择语句,不能创建/编辑表。谢谢!
表 1:
表 2:
期望的输出:
【问题讨论】:
-
您需要在表 2 中拆分持续时间 col .. 这将为您提供更好的范围.. 因为我认为持续时间可以在值之间,即。 18
-
您需要使用您正在使用的数据库标记问题。您还应该修复数据模型,因此它有两列用于范围而不是字符串。不要在字符串中存储数值!
-
我同意数据模型很差,但它不在我的控制范围内。我正在访问缓存数据库的表格以获取电子健康记录。
标签: sql string inner-join dbeaver