【发布时间】:2020-11-17 16:53:51
【问题描述】:
我想将表 zz_value 与 zz_gg 连接起来。
表 zz_value 看起来像:
nach_id ins_id pos_id value data_id gg_id
2416 647415 176959 266355 166991 9863
2416 647421 176959 266355 166991 9863
2416 647422 176959 266355 166991 9863
2416 647425 176959 266355 166991 9863
2416 647427 176959 266355 166991 9863
2416 647429 176959 266355 166991 9863
2416 647430 176959 266355 166991 9863
2416 647431 176959 266355 166991 9863
2416 647412 176959 266355 175068 9867
2416 647423 176959 266355 175068 9867
2416 647428 176959 266355 175068 9867
2416 647433 176959 266355 175068 9867
2416 647434 176959 266355 175068 9867
2416 647411 176959 266355 175069 9868
2416 647414 176959 266355 175069 9868
2416 647417 176959 266355 175069 9868
2416 647418 176959 266355 175069 9868
2416 647419 176959 266355 175069 9868
2416 647420 176959 266355 175069 9868
2416 647413 176959 266355 175070 9869
2416 647416 176959 266355 175070 9869
2416 647424 176959 266355 175070 9869
2416 647426 176959 266355 175070 9869
2416 647432 176959 266355 175070 9869
表 zz_gg 看起来像:
nach_id ins_id pos_id data_id gg_id
2416 647410 176959 266354 9868
2416 647389 176959 266352 9863
2416 647388 176959 266352 9869
2416 647392 176959 266352 9867
2416 647394 176959 266352 9868
2416 647391 176959 266352 9863
2416 647393 176959 266352 9869
2416 647387 176959 266352 9868
2416 647390 176959 266352 9867
2416 647397 176959 266353 9863
2416 647396 176959 266353 9867
2416 647395 176959 266353 9869
2416 647402 176959 266353 9869
2416 647401 176959 266353 9868
2416 647398 176959 266353 9863
2416 647399 176959 266353 9863
2416 647400 176959 266353 9868
2416 647406 176959 266354 9868
2416 647409 176959 266354 9867
2416 647405 176959 266354 9863
2416 647404 176959 266354 9867
2416 647403 176959 266354 9863
2416 647408 176959 266354 9869
2416 647407 176959 266354 9863
我使用了以下语句。
select t.nach_id,t.pos_id,t.gg_id,g.data_id,t.value
from zz_value t
left join zz_gg g
on t.gg_id = g.gg_id
and g.pos_id = t.pos_id
and g.nach_id = t.nach_id
where t.pos_id = 176959
and t.nach_id = 2416;
预期输出
nach_id pos_id gg_id data_id value
2416 176959 9863 266353 166991
2416 176959 9863 266354 166991
2416 176959 9863 266354 166991
2416 176959 9863 266354 166991
2416 176959 9863 266353 166991
2416 176959 9863 266353 166991
2416 176959 9863 266352 166991
2416 176959 9863 266352 166991
2416 176959 9867 266353 175068
2416 176959 9867 266352 175068
2416 176959 9867 266352 175068
2416 176959 9867 266354 175068
2416 176959 9867 266354 175068
2416 176959 9868 266353 175069
2416 176959 9868 266354 175069
2416 176959 9868 266353 175069
2416 176959 9868 266352 175069
2416 176959 9868 266352 175069
2416 176959 9868 266354 175069
2416 176959 9869 266353 175070
2416 176959 9869 266352 175070
2416 176959 9869 266352 175070
2416 176959 9869 266354 175070
2416 176959 9869 266353 175070
当我加入此表时,我希望有 24 行,但结果是 100 多行。 我也尝试过使用简单连接而不是左连接。它也显示了相同的结果。
所以如果连接不起作用,是否有任何其他方法可以获得所需的输出。
【问题讨论】:
标签: sql join left-join oracle12c