锁定老帖子 主题:oracle9i单表分组问题,有点搞人!
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-05
有个查询结果,但是希望能把age1,age2,age3,age4合并为一个column,该如何做呢?
查询结果如图 |
|
返回顶楼 | |
发表时间:2008-03-05
把它拆成N个简单的sql,问题基本上解决了-_-!
|
|
返回顶楼 | |
发表时间:2008-03-08
多累啊, 存储过程+临时表写下不就好了,非要搞这么负责的强劲SQL
|
|
返回顶楼 | |
发表时间:2008-03-10
为什么非要在查询语句中费那么大劲呢!你这种sql,如果并发量稍大一点,造成死锁的几率就会很高。
给你说说我们的方案,一句简单的sql把需要的数据查出来,在程序中予以分类或计算,然后写入报表,如果对并发有要求,那么就来他几个线程 |
|
返回顶楼 | |
发表时间:2008-03-10
感觉没什么难的,我做的报表比你的复杂多了!
用4次行转列,然后再进行连接操作,一个sql搞定! |
|
返回顶楼 | |
发表时间:2008-03-10
楼主的方案太复杂了!
19个表连接,数据库会崩溃的! 用行转列,应该只要4个表的连接! |
|
返回顶楼 | |
发表时间:2008-03-13
窗口函数,似乎是解决此类问题的东西。(听说而已,给您提个醒)
|
|
返回顶楼 | |
发表时间:2008-03-14
首先,谢谢大家的关注。
这里我大概的说下我遇到的问题:在一家企业内,我们对人力资源进行分类(管理人员,专业技术人员,生产技能人员,其他人员),这个分类被存放在一个基础数据表中(命名为BasicDataMaster=存放该分类的代码,BasicDataDetail=存放该代码对应的明细,如上述中的人员类别),在职员表中有个Field与之对应(并非关联,而是在做insert employee的时候把相应的类型存放在该字段中,只是个value)。与此同时,还有其他的企业内基础数据对employee进行描述,比如职称,学历,年龄(birthday),技术等级等等。报表要求如图所示。 |
|
返回顶楼 | |
发表时间:2008-03-14
javaTo 写道 为什么非要在查询语句中费那么大劲呢!你这种sql,如果并发量稍大一点,造成死锁的几率就会很高。
给你说说我们的方案,一句简单的sql把需要的数据查出来,在程序中予以分类或计算,然后写入报表,如果对并发有要求,那么就来他几个线程 现在我采用的是这个方法,目前暂时没有考虑线程问题。 |
|
返回顶楼 | |
发表时间:2008-03-14
这是典型的中国式报表(复杂表头,不定列,数据跨行等)
个人认为sql语言的窗口函数+行列转换是个比较好的方案,不过写的sql比较多,但是效率绝对不差! 我不建议把sql写到程序里,整个存储过程吧,嘿嘿! 楼主如果乐意讨论,把表结构和数据贴出来大家讨论! |
|
返回顶楼 | |