需要写一个left join的sql,后面的匹配条件要用到like,这是我之前写的代码
select a.*,b.PRODUCT_LINE_CODE as PRODUCT_LINE_CODE1,b.SECOND_STORE_TYPE as SECOND_STORE_TYPE1,c.USER_NAME as USER_NAME1 from VIEW_EU_STORE a LEFT JOIN BO_EU_CHECK_JURISDICTION b on nvl(a.SECOND_STORE_TYPE,' ') like '%'+nvl(b.SECOND_STORE_TYPE,' ')+'%' or a.PRODUCT_LINE_CODE=b.PRODUCT_LINE_CODE LEFT JOIN BO_EU_CHECK_PEOPLE c on b.BINDID=c.BINDID
但是总是报 invalid number的错,我觉得应该是空值引起的,各位大佬有知道怎么在like后做空值转换ma
我建议你把这个like语句写到where子句后面,这样效率高一些,你再梳理一下你的条件想要什么再写。
select a.*,
b.PRODUCT_LINE_CODE as PRODUCT_LINE_CODE1,
b.SECOND_STORE_TYPE as SECOND_STORE_TYPE1,
c.USER_NAME as USER_NAME1
from VIEW_EU_STORE a
LEFT JOIN BO_EU_CHECK_JURISDICTION b
on a.PRODUCT_LINE_CODE = b.PRODUCT_LINE_CODE
LEFT JOIN BO_EU_CHECK_PEOPLE c
on b.BINDID = c.BINDID
where a.SECOND_STORE_TYPE like % %
你这样试一下把,我也不是很清楚,但是试试总是没有坏处,望采纳