我正在寻找一种方法,根据表值之间的条件将这些表添加到一起。这是我正在尝试做的一个视觉:
x1c 0d1x的数据
目标是根据表2中的“测量深度”值,将两个表与正确的相应序列号组合在一起。序列号将与表1中的开始和结束深度相关,并需要根据其值和开始/结束深度的边界应用于表2中的测量深度。这可能吗?以下是我的陈述:
select
Table2.location,
Table2.Measured_Dpth,
Table1.sequence_number,
Table1.Strt_dpth,
Table1.end_dpth
join Table2 on (Table1.location =table2.location
and (Table2.measured_dpth>= Table3.Strt_dpth and Table2.measured_dpth<= Table3.end_depth) )
字符串
**注意:请原谅我的语法,我不是SQLMaven,正在学习过程中-感谢帮助和建议!
2条答案
按热度按时间hlswsv351#
表1中的深度边界设置错误。你不能(即 * shouldn 't *)具有与开始和结束深度相同的深度设置,因此我在示例数据中修复了这一点。
字符串
查询从这里开始:
型
[编辑]
如果你不能修复边界,那么-而不是
between
比较每个深度:型
apeeds0o2#
使深度范围的下限不包含:
字符串
然后,对于样本数据:
型
输出:
| 地点|价值|测量深度|序列号| SEQUENCE_NUMBER |
| --|--|--|--| ------------ |
| X型|0.01|一百五十|一个| 1 |
| X型|0.02|四百|二个| 2 |
| X型|0.02|八百五十|三个| 3 |
| X型|0.01|九百|四个| 4 |
| X型|0.02|一千一百|五个| 5 |
| X型|0.02|一一七五|五个| 5 |
fiddle