大神求助

猪发 2013-07-04 11:02:21
select * from t_resident where username in("xxx","xx");
username 是个varchar2,"xxx"(varchar2),"xx"(varchar2)是根据select语句查询出的所以不能使用or
怎么实现:
select * from t_resident where id in("xxx","xx");一样的功能但是不是id而是username.
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猪发 2013-07-10
  • 打赏
  • 举报
回复
可以这样,,,谢谢了!!我一直都想着用in关键字
哈特比尔波 2013-07-07
  • 打赏
  • 举报
回复
再看了一遍楼主的意思。估计我懂了。但是不知道楼主的这个username只有一个还是有很多个? 如果只有一个:select * from t_resident where username='username1'; 如果不只一个:select * from t_resident where username=select username from tablename where contant='contant1'or like'%' ; 看楼主怎么发挥想象力了。能看懂我的意思就给分吧。
哈特比尔波 2013-07-07
  • 打赏
  • 举报
回复
我估计看懂了楼主的意思:就是in后面的参数也是通过查询获得的结果,是不定的。但这个in里面的参数都是字符串的。 楼主的:select * from t_resident where id in("xxx","xx"); 如果直接知道username是什么就直接写,如果不知道就通过查询获得。 我的;select * from t_resident where username in("username1","username2"); 或者是直白点:select * from t_resident where username in("张山","李四"); or:select * from t_resident where username in(select username from tablename where x=y); 其中x=某一个表的某一个字段y=某一个表的某一个字段的值。
善若止水 2013-07-06
  • 打赏
  • 举报
回复
恕我才疏学浅,我真的没有看明白楼主要表达的意思
yooy655 2013-07-06
  • 打赏
  • 举报
回复
什么意思?用模式匹配?
u010412956 2013-07-05
  • 打赏
  • 举报
回复
说实话,没有怎么明白你在说什么?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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