如何编写sql语句

首先我的rule表格格式是:
id qita zuBie
1 是 C
2 是 B
2 是 F

select * from rule where zuBie in (
select timeRule from employee where number = '234517';
);
这段子查询,目前遇到这样一个问题:下方是分析运行结果

首次执行:
select timeRule from employee where number = '234517';
结果:
timeRule
C
再次执行:
select * from rule where zuBie in (
'C'
);
这样运行这段子查询是没有问题的。但是,如果把其中的number值换成123456后,得到了两个值;
select timeRule from employee where number = '123456';
结果:
timeRule
C,B
再次执行:
select * from rule where zuBie in (
'C','B'
);
执行完毕后,查到的结果集是空的,不知道这段sql如何优化,我想到了返回应用层处理后,再次把结果发到sql进行处理,但是只是想用sql来,不知道该如何改动??

阅读 1.3k
1 个回答


select rule.* from rule left join employee on rule.zuBie = employee.timeRule where employee.number = '123456'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进