日期:2014-05-16  浏览次数:20762 次

问个问题想不出来,大家帮帮我
有表和字段
sysgtemgroup   :系统目录表
1.sysGroupId   :系统目录ID,例   1
2.supplierCount:供应商数据统计   例   1000  
company   :   公司表
1.companyId:公司ID
2.sysGroupId:公司所在的系统ID   例   0,2,333,2314,0
(因为一个公司可能会是三种行业的,所以可以填三个目录号)

我试写了几个更新,比如产品更新(sql就不列出来了)

现在卡在公司更新上了,以下是我写的语句

update   systemgroup   a
set   supplierCount   =   (select   count(companyId)   as   count   from   company   t   where   a.   sysGroupId   like   t.sysGroupId   )

那么问题出在,条件上
a.sysGroupId   like   t.sysGroupId
这样写,字符短的   like   字符长的,明显不可以
如果反过来的话
t.sysGroupId   like     a.sysGroupId
必须在a.sysGroupId,的前后加上 ', '
(因为我like   2的话,连同2314这个目录也会算进在内)
那有什么办法可以解决吗?

速度慢点也没关系,一个月一次的,就是不能死机



------解决方案--------------------
LZ是不是表设计有问题?sysGroupId 是一个列? 例 0,2,333,2314,0
如果是的话,那么我建议LZ