这个oreacle sql语句应该怎么写?[

cxz7531 2012-08-03 04:42:45
通过别的途径知道了几十个userId,想用一条sql语句取出所有的userName。

如果是 select * from user where userId=? 一次只能一条
如果是 select * from user where userId in (?,?,?,?),则sql很长,且?个数不确定
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxz7531 2012-08-04
  • 打赏
  • 举报
回复
看来oracle 解决不了此问题,只能采用比如hibernate之类的技术
dell9 2012-08-03
  • 打赏
  • 举报
回复
建立个视图先
cxz7531 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

主要是他通过什么途径。。。
可以创建一个表。把ID都存进去。 然后 用复合查询就OK了。(如果ID不是通过SQL调出来的)
[/Quote]

系统中使用了第三方的组件,调用该组件的时候返回了一个user id的序列,数目可能还比较大。界面显示的时候要转化成真实的姓名,用in的话,语句会很长。

创建一个表倒是办法,但多了一道手续,而且表频繁创建也是个开销。
badiku 2012-08-03
  • 打赏
  • 举报
回复
select * from user where instr('123 124 135',userId||' ')>0
睿智天成 2012-08-03
  • 打赏
  • 举报
回复
通过什么途径获得的,如果是PLSQL语句直接以此为IN 后面的集合不就行了。

cxz7531 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

是集合还是sql得到的其他userid ?
SQL code

select * from user where userId in (select userId from ...)
[/Quote]

是调用第三方组件的api返回的一个userid集合
lingxia39du_ 2012-08-03
  • 打赏
  • 举报
回复
主要是他通过什么途径。。。
可以创建一个表。把ID都存进去。 然后 用复合查询就OK了。(如果ID不是通过SQL调出来的)
  • 打赏
  • 举报
回复
是集合还是sql得到的其他userid ?

select * from user where userId in (select userId from ...)
lingxia39du_ 2012-08-03
  • 打赏
  • 举报
回复
什么途径??

17,378

社区成员

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

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