现在存在这样的结构 :
一个表A中某个字段selected存储的是选择项 :
code selected
11 'A','B','C','D'
12 'A','B'
........还有一个表B中存在是返回的选择结果 :
id code itemselected
1 11 A
2 11 B
3 11 C
4 11 E
5 11 9
..........如果返回的B.itemselected 值在A.selected中存在那么要计算有多少个?如果不是其中的统一记为
‘其他’项来计算数量, 不知道怎么实现这样的sql语句?
一个表A中某个字段selected存储的是选择项 :
code selected
11 'A','B','C','D'
12 'A','B'
........还有一个表B中存在是返回的选择结果 :
id code itemselected
1 11 A
2 11 B
3 11 C
4 11 E
5 11 9
..........如果返回的B.itemselected 值在A.selected中存在那么要计算有多少个?如果不是其中的统一记为
‘其他’项来计算数量, 不知道怎么实现这样的sql语句?
from a,b
where b.code=a.code(+)
group by b.code
where a.code=b.code
group by b.code,decode(instr(a.selected,b.itemselected,1,1)>0,b.itemselected,'其他')
不过可能需要改为这样 : select b.code,decode(instr(a.selected,b.itemselected,1,1),0,'其他',b.itemselected)
itselected,count(*) num
from squestion a, sanswer b
where a.code=b.code
group by b.code,decode(instr(a.selected,b.itemselected,1,1),0,'其他',b.itemselected)