[已解决] 模糊匹配导致一门课存在多个同名教师
问题
LEFT JOIN jsxxb ON XSKB.RKJSXM LIKE jsxxb.JZGXM || ‘%’
思路
利用正则表达式解决
jsxxb.JZGXM 的字段示例如 李志勇,许蕤 需以,作为分割点,只匹配逗号前面的名字,或者是没有逗号,只有一个老师 则直接匹配
如果要根据逗号将"jsxxb.JZGXM"字段的值进行分割,并只匹配逗号前面的名字,或者只有一个老师的情况下直接匹配,可以使用以下查询条件:
LEFT JOIN jsxxb ON (REGEXP_SUBSTR(XSKB.RKJSXM, '^[^,]+') = jsxxb.JZGXM OR XSKB.RKJSXM = jsxxb.JZGXM)
这个查询条件使用了REGEXP_SUBSTR
函数来获取"XSKB.RKJSXM"字段中逗号前面的名字部分,然后与"jsxxb.JZGXM"字段进行匹配。如果没有逗号,直接匹配整个字段。这样可以实现根据逗号分割匹配的需求。
解决
成功解决问题