【发布时间】:2011-12-08 19:24:29
【问题描述】:
我有 2 张桌子。 一个带有地址(分别是姓名和门牌号),另一个带有区域,其中有街道号码和来自和去往的字段。例如。欧洲地区是属于街道欧洲街道的一切,从 1 到 200 街道号。 我需要加入每个地址属于适当区域的位置。但是需要注意的是,门牌号码也可以是 120a、120b、120c 等。我无法通过简单的“介于”来实现这一点,并且我的数字 120a 落入了错误的范围。
它是 MS SQL Server 精简版
Table 1
1st street | 22
1st street | 22a
1st street | 24
1st street | 33
1st street | 112a
Table2
Region 1 | 1st street | 1 | 30
Region 2 | 1st street | 31 | 40
Region 3 | 1st street | 41 | 200
所以我想合并它们以获得结果,例如 1st street 22, 22a, 24 属于 Region 1,因为街道编号介于 1 和 30 之间。
提前致谢
【问题讨论】:
-
请编辑您的问题以提供示例数据、所需的输出以及您迄今为止尝试过但不起作用的查询。此外,请为您正在使用的数据库添加标签,因为不同的 RDBMS 之间的语法和功能会有所不同。谢谢。 :)
-
你能写一个sqlLite UDF吗?我想如果你写一个 UDF 来转换 22a、112a 等。到整数,然后使用该函数,将是最安全的选择,虽然它可能会影响性能有点......