免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 6497 | 回复: 45
打印 上一主题 下一主题

一个超复杂的筛选,没思路啊。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-23 15:32 |只看该作者 |倒序浏览
cat data1
1 a 3 4
3 a 4 2
5 a 4 2
8 b 5 2
cat data2
2 a 2 4
4 a 4 2
3 a 5 3
8 b 6 3

希望的结果
1 a 3 4 NULL NULL NULL 0
3 a 4 2 4       a      4       2
5 a 4 2 NULL  NULL NULL 0
NULL NULL NULL 0 2 a 2 4
NULL NULL NULL 0 3 a 5 3
8 b 5 2 NULL NULL NULL 0
NULL NULL NULL 0 8 b 6 3

根据第2,3列,如果这两列列的数值相同,就把2个文件粘到一起。比如结果的第一行
如果第一个文件 第2、3列的值,在文件二中没找到,对应的没值就null补充 ,最后一列用0补充        比如结果的第一、三、六行                       
同理,如果第二个文件 有文件一没有的,同样用null,AMT用0                                                                       
实际情况,两个文件都超级长,我现在不知道从哪下手啊。。。

论坛徽章:
0
2 [报告]
发表于 2012-02-23 15:50 |只看该作者
http://bbs.chinaunix.net/thread-3674697-1-1.html
http://bbs.chinaunix.net/thread-3674055-1-1.html
http://bbs.chinaunix.net/thread-3673964-1-1.html
你这几天提的问题都是同一个一直没有解决吗?而且你还是用的Solaris?

论坛徽章:
0
3 [报告]
发表于 2012-02-23 15:55 |只看该作者
好细心啊,其实是客户的条件在不断的变化,然后今天更新了个需求版本,出了一个整体方案,然后我就虚了。。。你给的那三个链接后来都解决了。回复 2# yangkyo821


   

论坛徽章:
0
4 [报告]
发表于 2012-02-23 16:08 |只看该作者
你先不要慌,把问题先理清楚。
首先,你的结果文件中,1,3,6行都来自data1加后面补的null;4,5,7行是来自data2前面补null。那么这样没法知道data1,data2中不匹配的行是按什么顺序在结果文件中排列的。
其次,data1中2,3行都与data2中第2行匹配,是只匹配对应的行(暗含条件data1与data2行数相等?),或者是还有别的判断匹配的条件?
还有,现实文件是只有4列且用空格分隔,还是不一定是4列。

论坛徽章:
0
5 [报告]
发表于 2012-02-23 16:28 |只看该作者
先把第一个文件里面不一致的部分列出来,再处理第二个文件里面的。
文件长度那是相当长啊,我都想手动处理了,可是太长。。。回复 4# yangkyo821


   

论坛徽章:
0
6 [报告]
发表于 2012-02-23 16:38 |只看该作者
鸟鸟不哥 发表于 2012-02-23 16:28
先把第一个文件里面不一致的部分列出来,再处理第二个文件里面的。
文件长度那是相当长啊,我都想手动处理 ...

如果是“先把第一个文件里面不一致的部分列出来,再处理第二个文件里面的。”的话,结果文件的倒数第二行怎么会是第一个文件的行。
你再看看怎么解释会更通俗一点。手动处理那是学计算机的人办事的方法么。。。

论坛徽章:
0
7 [报告]
发表于 2012-02-23 16:56 |只看该作者
仔细研究了下,其实第二列是时间的,以时间先后来排序,先一样滴,后不一样滴!刚刚手动处理了一部分客户通过了!回复 6# yangkyo821


   

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
8 [报告]
发表于 2012-02-23 17:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2012-02-23 17:13 |只看该作者
小菜鸟,木办法啊,而且问题还越来越难。。。回复 8# zooyo


   

论坛徽章:
0
10 [报告]
发表于 2012-02-23 17:27 |只看该作者
呃,我好好查了下历史记录,呵呵,找到一部分了
http://bbs.chinaunix.net/thread-3670858-1-1.html回复 8# zooyo


    这个帖子实现了一部分的功能,就是没把空下来的给标识成NULL 0。需要改进。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP