sql server 查询问题

我需要查询指定项目上传的所有文件、查询的字段为erp_code。

但是有个坑。数据库(我用的是sql server)中该字段的值可能是两个项目。

例如  A项目的erp_code是aa  B项目的erp_code是bb

在上传文件的表中。这个erp_code字段的值可能是两个项目合在一起的。可能是aa,bb

下面是我的sql,希望实现的效果就是。多个项目一起搜索。而不是只能指定一个erp_code来进行模糊搜索。搜索的地方我用红色标注了。希望大神能帮帮忙。感激不尽

SELECT

 img.filerealpath,

 img.imagefilename 

FROM

 ImageFile img

 LEFT JOIN DocImageFile doc ON img.imagefileid = doc.imagefileid 

WHERE

 charindex (

 ',' + CONVERT ( NVARCHAR ( 4000 ), doc.docid ) + ',',

 ',' + (

SELECT

 stuff (

 (

SELECT

 ',' + CONVERT ( NVARCHAR ( 4000 ), scsmwj ) 

FROM

 ( SELECT scsmwj FROM formtable_main_37 WHERE CONVERT ( NVARCHAR ( 4000 ), scsmwj ) <> ''AND erp_codeLIKE '%11080BG%') temp FOR XML path ( '' ) 

 ),

 1,

 1,

 '' 

 ) 

 ) + ',' 

 ) >0


这是两个项目的erp_code在一起的表截图QQ截图20200429105134.png


FineReport 郝波 发布于 2020-4-29 10:16 (编辑于 2020-4-29 10:52)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
willgood1986Lv2初级互助
发布于2020-4-29 17:12

其实如果你的参数能够传递类似  aa,bb,那么你可以把比较的这一块逻辑写成一个 函数,然后在这里直接调函数即可。

原理就是,分别查 aa 是否包含,bb是否包含即可。


最佳回答
0
北纬六十六度Lv4初级互助
发布于2020-4-29 10:26(编辑于 2020-4-29 10:44)

两个项目的名称怎么会存到一个字段的一条数据里,怎么存进去的,这个字段累加的?

请贴出表结构 和示例数据

  • 3关注人数
  • 393浏览人数
  • 最后回答于:2020-4-29 17:12
    请选择关闭问题的原因
    确定 取消
    返回顶部