SQL Join使用mid()

时间:2014-02-13 12:18:46

标签: sql oracle-sqldeveloper

我怎样才能让它发挥作用? 我有多个表,在DATA.REQ.R_NUM中有一个数字,我想在DATA.REQ_NUM.DUAL_VALUE上加入它,它有2个数字,用逗号分隔2个vallues。

或者我应该这样做有点不同? 提前谢谢。

INNER JOIN DATA.REQ_NUM
ON DATA.REQ.R_NUM     = MID(DATA.REQ_NUM.DUAL_VALUE,0,8)

DATA.REQ.R_NUM内的数据

  1. 4567891
  2. 4567892
  3. 4567893
  4. DATA.REQ_NUM.DUAL_VALUE内的数据

    1. 53636835,4567891
    2. 72242441,4567892
    3. 23442344,4567893

1 个答案:

答案 0 :(得分:2)

如果您知道数字长度相同:

ON DATA.REQ.R_NUM  = substr(DATA.REQ_NUM.DUAL_VALUE, 1, 8)

否则,你可以这样做:

ON ','||DATA.REQ_NUM.DUAL_VALUE||',' like '%,'||DATA.REQ.R_NUM||',%'

顺便说一下,你应该为第二个值设置第二个字段。它将改善这些类型的查询的性能。