当前位置: 代码迷 >> Oracle技术 >> SQL复杂查询有关问题,请问数据库大牛
  详细解决方案

SQL复杂查询有关问题,请问数据库大牛

热度:136   发布时间:2016-04-24 08:07:20.0
SQL复杂查询问题,请教数据库大牛!

A表有一个keyword_id列为int类型:


B表有一个keywordid列为varchar类型:


A表keyword_id列数据:


B表keywordid列数据:


那么问题出现了,挖掘机技术到底哪家强?... 

额,错了,跑题了...

问题:
根据A表的keywordid列的值2和4,去查找B表中keyword_id列中包含2或(OR)4的数据。B表的keyword_id列数据是逗号分隔的。

------解决思路----------------------
正则表达式
where regexp_like(keywordid,'1
------解决思路----------------------
2')

------解决思路----------------------
正则有点问题,试试这个吧
where instr(','
------解决思路----------------------
keywordid
------解决思路----------------------
',',',1,')>0 or instr(','
------解决思路----------------------
keywordid
------解决思路----------------------
',',',2,')>0

------解决思路----------------------
引用:
SQL Server数据库

发到SQL Server版块去吧
------解决思路----------------------
sqlsever使用CHARINDEX
where CHARINDEX(',1,',','
------解决思路----------------------
keywordid
------解决思路----------------------
',')>0 or CHARINDEX(',2,',','
------解决思路----------------------
keywordid
------解决思路----------------------
',')>0

------解决思路----------------------
引用:

能。找大版帮忙
------解决思路----------------------
忘了,连接符sqlsever和oracle也不一样,我记得sqlsever用+号就行
where CHARINDEX(',1,',','+keywordid+',')>0 or CHARINDEX(',2,',','+keywordid+',')>0
  相关解决方案