问一条SQL,求帮下忙

諾临風 2015-08-05 11:33:29
我也是好久没有碰数据库了,现在有两个表

一个是类别表
大类,中类,小类
分别对尖的数据是
01 0101 010101

也就是说2位,4位,6位,
另有一个物资表
物资ID,类别(对应小类),物资名称,物资ID等等。

要查出以下的格式。
...全文
331 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
諾临風 2015-08-26
  • 打赏
  • 举报
回复
引用 18 楼 mmy1210 的回复:
最好把你的表也弄出来,不然不知道你是要怎么个统计法,大类,中类等都是直接查询的么,还是从物资的那个列中截取相应的长度串,所以建议你把表的所有字段都列出来,数据是怎么个样子,大家才能给你帮忙出主意啊
90多个表 = = 这个没啥好帖的了
引用 17 楼 iN_DowN 的回复:
ORACLE中有个 start with connect by prior 可以整理出如图树形结构
已经搞定了 拆成了N个单元小模块,表太多,根本没法统计到,数据量又大,给客户建议,后来同意了。
iN_DowN 2015-08-25
  • 打赏
  • 举报
回复
ORACLE中有个 start with connect by prior 可以整理出如图树形结构
冷雪液 2015-08-25
  • 打赏
  • 举报
回复
最好把你的表也弄出来,不然不知道你是要怎么个统计法,大类,中类等都是直接查询的么,还是从物资的那个列中截取相应的长度串,所以建议你把表的所有字段都列出来,数据是怎么个样子,大家才能给你帮忙出主意啊
諾临風 2015-08-24
  • 打赏
  • 举报
回复
引用 13 楼 Z65443344 的回复:
千万级数据想一次性加载出来显示 我觉得你整个思路都是走进死胡同里了 设计方案本身就是扯淡的 能说说为什么要把上亿数据全部都进行汇总吗 就没有些历史数据不需要进行汇总的?
还真的没有,他们要的东西全要。。。。80%的表都用到了,数据量又大, 现在把他这个Excel按功能点拆了,还行,合起来,搞不出来啊,数据量太大了,搞不定, 其实我也有几年没有来CSDN了,这次是来看看是不是有出什么新的东西能搞定。
ajianchina 2015-08-05
  • 打赏
  • 举报
回复
数据量不是非常庞大的话,建立视图进行查询那可是非常简单啊。正好也让自己熟悉一下数据库的多种查询方式。
  • 打赏
  • 举报
回复
查出明细表,数据组织在程序里实现不可以么?
还想懒够 2015-08-05
  • 打赏
  • 举报
回复
是啥数据库,如果是SQL Server,可以使用With语句
xiye_jfb 2015-08-05
  • 打赏
  • 举报
回复
select d.大类,c.中类,b.小类,a.* from 物资表 a 
inner join 类别表 b on a.类别 = b.小类 
inner join 类别表 c on b.中类 = c.中类
inner join 类别表 d on c.大类 = d.大类
諾临風 2015-08-05
  • 打赏
  • 举报
回复
@以专业开发人员为伍 来帮下忙看看,给个参考都行,搜都不好搜,忘了这个叫什么了。
於黾 2015-08-05
  • 打赏
  • 举报
回复
千万级数据想一次性加载出来显示 我觉得你整个思路都是走进死胡同里了 设计方案本身就是扯淡的 能说说为什么要把上亿数据全部都进行汇总吗 就没有些历史数据不需要进行汇总的?
wx8849 2015-08-05
  • 打赏
  • 举报
回复
引用 11 楼 suiye007 的回复:
[quote=引用 7 楼 wx8849 的回复:] 这种无限级的东西还是 写个递归吧,
这个用程序写不太好,主要是觉得,我想用包,一次性写完在里面。[/quote] 要是以后有个8位的4级分类又什么搞?
諾临風 2015-08-05
  • 打赏
  • 举报
回复
引用 7 楼 wx8849 的回复:
这种无限级的东西还是 写个递归吧,
这个用程序写不太好,主要是觉得,我想用包,一次性写完在里面。
ajianchina 2015-08-05
  • 打赏
  • 举报
回复
引用 8 楼 suiye007 的回复:
是Oracle数据库,还有好多的汇总列。。。。我只弄了一部分。 我先汇总几条看看。 数据量是非常大的,每个表大约几百万的数据,另一个详细表,要统计的数量表是这样的, 物资ID 自编码 数量 ,一个物资ID就可能上百万,这个表是大约几千万到上亿数据, 汇总一下基本就不动了,用over完全不动了,用group by 还是能出来数据,就是超慢。
主键外键要建立索引,如果没有,加上索引情况会有较大改善。还有,你统计过程中的一些条件查询where语句避开使用like及其他函数操作,大数据量的查询才真的体现出技术,这里面有一些讲究的,每一小小的改进都会提升一定的速度,可以到网上看看别人的一些经验。
諾临風 2015-08-05
  • 打赏
  • 举报
回复
引用 2 楼 u012208913 的回复:
select d.大类,c.中类,b.小类,a.* from 物资表 a 
inner join 类别表 b on a.类别 = b.小类 
inner join 类别表 c on b.中类 = c.中类
inner join 类别表 d on c.大类 = d.大类
是Oracle数据库,还有好多的汇总列。。。。我只弄了一部分。 我先汇总几条看看。 数据量是非常大的,每个表大约几百万的数据,另一个详细表,要统计的数量表是这样的, 物资ID 自编码 数量 ,一个物资ID就可能上百万,这个表是大约几千万到上亿数据, 汇总一下基本就不动了,用over完全不动了,用group by 还是能出来数据,就是超慢。
諾临風 2015-08-05
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
查出明细表,数据组织在程序里实现不可以么?
这个,程序有点难,因为我只是一小小段,后面还有九十多个字段没上来,是整个系统的一个统计。
wx8849 2015-08-05
  • 打赏
  • 举报
回复
这种无限级的东西还是 写个递归吧,

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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