数据割接碰到一个麻烦问题,不知道sql该如何实现。比较急

[复制链接]
查看11 | 回复9 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
有一个表TEST1有A,B,c三个字段,有很多条记录。。
需要将表中好几条记录合并写到另外一个表为一条记录。
比如说所有当A字段的值为a的时候的记录为5条,我就要将这5条记录取出来并且合并为一个值。
当A字段的值为b的时候记录为50条,就要将这50条取出合并为一个值。
分别插入另外的一个表TEST2一个字段ABC中。。。
让其变成TEST2中的两条记录。不知道大家有什么好的实现思路,谢谢了 本人对sql很多东西不是很熟悉,非常感谢大家。。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
具体怎样"合并"?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我们是以表test1的A字段为准则。将所有字段A的值相同的记录全部合并为一个值。
比如说字段为 ab123 1234

abcdefcdef 两条记录,A的值为ab,那么我们合并的时候,就要给这些值全部合并为ab1231234abcdefcdef这个值 。然后将这个值插到我们的另外一张表的一个字段里面去。
而我们判断所使用的A字段的值个数超过10万个,记录超过100万行。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
使用pl/sql
肯定可以实现任何需求

另:你的这个描述依然混乱不清
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
还是没看懂你合并的规则
不过我想这里应该需要用到函数
你再把问题具体点
让大家看看
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
这样来讲吧:
有这样的一个表
test( order_id, status,replay_info,remarks) 四个字段。。
ORDER_ID的值比如为以下的几个。。。

200412198149153
200412198149153
200412198149153
200412198149153
200412198149153
200412198149153
200412198149153
200412198160584
200412198160584
200412198160584
那么我们所有的order_id=200412198149153就有7条记录,那么我们就要将这7条记录全部取出来。然后将这7条记录所有的值全部加起来为一个一个很大的varchar2型的值写到另外一个表的一个字段里。
就是说,我们现在的数据有100万条记录,而distinct order_id有15万条。。那么写到新的数据库的表就只有15万条。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
这样已经说的够清楚了吧。。希望大家可以帮帮我,我对sql的很多内容不是特别熟悉。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
实在不知道你这样做有什么实际的意义,如果有一个order_id有20万条记录,那这里肯定是需要用到lob型的了,其实我觉得你还不如把结果写到一个文件中去,我想你这样合并以后基本没有什么结构而言,何必放在数据库中呢
我还真想知道你们这样做的目的是什么
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
放心好了,应该最多不会超过15条。。。
系统换了,很多架构的东西,同时跟着换了。。
。而我只需要给现有的数据倒过去就行了。。
。不被客户说来说去的。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
一个行列转换的问题,sql实现比较麻烦一些,需要使用的 分析函数
使用 pl/sql 吧,排序后逐条处理合并,很快的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行