求一条SQL语句!

编程指南针
Java领域优质创作者
博客专家认证
2003-06-17 10:53:37
老大现在有个问题,
数据表中有一字段CODE数据为 1001,1001001,1001002......
其中1001为大类,100101这些为小类,现在想循环输出100101这些属于1001的小类,SQL语句怎么写?
数据表如下
code code_name levels
1001 部门 0
100101 行政部 1
100102 研发部 1
100103 物资部 1
1002 职位 0
100201 总经理 1
100202 经理 1
....
...全文
50 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
编程指南针 2003-06-17
  • 打赏
  • 举报
回复
呵呵,多谢whatwhynot(努力努力!)
我也是郁闷了一个上午才在这里提问的,呵呵,不过以后我会注意的
hanty 2003-06-17
  • 打赏
  • 举报
回复
hhuzhj(阿金) ( ) 信誉:121 2003-6-17 11:12:58 得分:0



String str="1001";
select * from talbe where code like '%"+str+"%'



我绝对实际应用重这种写法比较好,因为这种写法是标准SQL中得写法,执行效率也应当是符合要求,至少不会用专用数据库中某些特定函数限制
whatwhynot 2003-06-17
  • 打赏
  • 举报
回复
你试试不就知道了,还有我可以给你点建议吗??
如果不愿意就当我没说,我是好心:
做程序员一定要多实践,不要发现问题马上就问,一定要自己研究研究(哪怕是徒劳的研究),然后再问,这样才有助于自己水平的提高!!
祝你好运(我用的是oracle,所以那条语句我在sqlserver下没试过,你自己试试把)
编程指南针 2003-06-17
  • 打赏
  • 举报
回复
我的数据库是SQLSERVER,这样支持吗?
whatwhynot 2003-06-17
  • 打赏
  • 举报
回复
记住那个是subStr(code,0,4) ,我有个程序和你的一模一样,就是这么解决的
sub(code,0,4)好像是不行!!
whatwhynot 2003-06-17
  • 打赏
  • 举报
回复
select * from table where subStr(code,0,4) = '1001';
这个是最佳的sql了,千万别用like,很慢的
gotoxh 2003-06-17
  • 打赏
  • 举报
回复
表不应该这么建的
因该分为两个表
大类一个表
小类一个表
<!--表A-->
1001 部门
1002 职位
<!--表B--->
100101 行政部 1001
100102 研发部 1001
100103 物资部 1001
100202 经理 1002
cjxiaoh 2003-06-17
  • 打赏
  • 举报
回复
select * from table where left(code,4) = "1001";或
select * from table where sub(code,0,4) = "1001";
看你是什么数据库了,当然如楼上的做法也可以。
AHUA1001 2003-06-17
  • 打赏
  • 举报
回复
建议:还是用JAVA的程序来控制吧,这样要比写SQL的代码方便很多。
hhuzhj 2003-06-17
  • 打赏
  • 举报
回复
String str="1001";
select * from talbe where code like '%"+str+"%'
编程指南针 2003-06-17
  • 打赏
  • 举报
回复
快来人,解答,兄弟在线等待

81,095

社区成员

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

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