我有一个名为 txn_detail 的表,其主键为 txn_id ,而一个名为 hlr_pre_qt 的高级队列表的主键为<在名为 user_data 的列中包含strong> txn_detail ,其他几个值以逗号分隔。我需要过滤它们并使用这两列(txn_detail.txn_id和hlr_pre_qt.user_data)在两个表之间进行映射。我怎么能这样做?
答案 0 :(得分:0)
您可以使用like来进行连接 即。
SELECT *
FROM txn_detail A
JOIN hlr_pre_qt B on B.user_data.txn_id = A.txn_id
OR
SELECT *
FROM txn_detail A
JOIN hlr_pre_qt B on b.USER_DATA LIKE '%' || TO_CHAR(A.txn_id) || '%'
OR
您可以从user_data ....
中删除TXN_IDSELECT *
FROM txn_detail A
JOIN hlr_pre_qt B on
SUBSTR(b.USER_DATA, INSTR(b.USER_DATA, '(') +1, INSTR(b.USER_DATA, ',') - INSTR(b.USER_DATA, '(') - 1) = TO_CHAR(A.txn_id)
在这两种情况下,都不会使用索引来进行连接,因此性能会很差。
希望有所帮助