求一个sql

zjhwh2016 2016-08-19 10:01:57
一张表中有个字段是一个数组 比如119,101 要判断另一张表中一个字段比如119是否存在于这个数组中,数据库是mysql
该怎么写呀
求大神,急!!!!!!!!!
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复
引用 9 楼 zjhwh2016 的回复:
[quote=引用 8 楼 zjhwh2016 的回复:] [quote=引用 7 楼 zjhwh2016 的回复:] [quote=引用 6 楼 ghx287524027 的回复:] [quote=引用 5 楼 ghx287524027 的回复:] from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
这个的意思是 只要 a.kindid 在newtype中出现过就将其查出来,不管 kindid 对应的数字在newsinfo 中是作为单独一条记录还是某条记录的一部分,都将其查询出来[/quote] wmsys.wm这个是什么东西 [/quote] 会报错[/quote] 我用的是MySQL[/quote] 我改成group_concat这个可以了 多谢大神
ghx287524027 2016-08-19
  • 打赏
  • 举报
回复
wmsys.wm_concat() 这是个函数,也可以简写为 wm_concat() ,作用是可以将 b.newtype 字段中所有的值 拼接起来,并且以逗号间隔。比如有5条记录,分别为 a b c d e 那么拼接之后的结果为 a,b,c,d,e 详细的你可以百度一下
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复
引用 8 楼 zjhwh2016 的回复:
[quote=引用 7 楼 zjhwh2016 的回复:] [quote=引用 6 楼 ghx287524027 的回复:] [quote=引用 5 楼 ghx287524027 的回复:] from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
这个的意思是 只要 a.kindid 在newtype中出现过就将其查出来,不管 kindid 对应的数字在newsinfo 中是作为单独一条记录还是某条记录的一部分,都将其查询出来[/quote] wmsys.wm这个是什么东西 [/quote] 会报错[/quote] 我用的是MySQL
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复
引用 7 楼 zjhwh2016 的回复:
[quote=引用 6 楼 ghx287524027 的回复:] [quote=引用 5 楼 ghx287524027 的回复:] from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
这个的意思是 只要 a.kindid 在newtype中出现过就将其查出来,不管 kindid 对应的数字在newsinfo 中是作为单独一条记录还是某条记录的一部分,都将其查询出来[/quote] wmsys.wm这个是什么东西 [/quote] 会报错
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复
引用 6 楼 ghx287524027 的回复:
[quote=引用 5 楼 ghx287524027 的回复:] from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
这个的意思是 只要 a.kindid 在newtype中出现过就将其查出来,不管 kindid 对应的数字在newsinfo 中是作为单独一条记录还是某条记录的一部分,都将其查询出来[/quote] wmsys.wm这个是什么东西
ghx287524027 2016-08-19
  • 打赏
  • 举报
回复
引用 5 楼 ghx287524027 的回复:
from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
这个的意思是 只要 a.kindid 在newtype中出现过就将其查出来,不管 kindid 对应的数字在newsinfo 中是作为单独一条记录还是某条记录的一部分,都将其查询出来
ghx287524027 2016-08-19
  • 打赏
  • 举报
回复
from kindinfo a where instr( (select wmsys.wm_concat(b.newtype) from newsinfo b),a.kindid)>0 and ……
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复

这个sql只能查出newType是唯一一个的,如果是数组就查不出来了
zjhwh2016 2016-08-19
  • 打赏
  • 举报
回复
引用 2 楼 ghx287524027 的回复:
[quote=引用 1 楼 ghx287524027 的回复:]
你这个数组在字段中是怎么存储的,是以字符串的形式还是?

贴一些表中的数据[/quote]

是字符串
ghx287524027 2016-08-19
  • 打赏
  • 举报
回复
引用 1 楼 ghx287524027 的回复:
你这个数组在字段中是怎么存储的,是以字符串的形式还是?
贴一些表中的数据
ghx287524027 2016-08-19
  • 打赏
  • 举报
回复
你这个数组在字段中是怎么存储的,是以字符串的形式还是?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧