首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SYNCSORT (JOINKEYS)连接2个数据集,是否可以通配符某些值?

使用SYNCSORT (JOINKEYS)连接2个数据集,是否可以通配符某些值?
EN

Stack Overflow用户
提问于 2019-06-06 15:52:05
回答 1查看 283关注 0票数 0

将2个数据集与SYNCSORT连接起来,是否有可能以任何方式通配符一些F1值?

我想搜索“啤酒”这个词,但在F2中,值可能是“啤酒”或“金发啤酒”等等。

这是我现在的代码。如果F2包含啤酒金发,记录就不会成对,因为值不是BEER (后面有16个空格),但我仍然需要将代码设置为0000100002。

代码语言:javascript
复制
//STEP01   EXEC PGM=SORT,PARM='DYNALLOC=(SYSDA,255)'
//SORTMSGS DD SYSOUT=*
//SORTJNF1 DD *
0000100001WINE
0000100002BEER
0000100003OTHER
/*
//SORTJNF2 DD DSN=ZZ.MAINDATA,
//            DISP=SHR,DCB=BUFNO=255
//SORTOUT  DD DSN=ZZ.OUTPUT,
//            DISP=(NEW,CATLG,DELETE),
//            UNIT=(SYSDA,59),
//            SPACE=(CYL,(500,100),RLSE)
//SYSIN    DD *
JOINKEYS FILE=F1,FIELDS=(11,20,A)
JOINKEYS FILE=F2,FIELDS=(40,20,A)
JOIN UNPAIRED,F2
REFORMAT FIELDS=(F2:1,10,F1:1,10,F2:21,20)
OPTION COPY
//DFSPARM  DD *
MSGDDN=SORTMSGS

我不能/不能列出所有的可能性(例如下面的例子),因为它们会更改得太频繁,它可以设置为任何东西。

代码语言:javascript
复制
//SORTJNF1 DD *
0000100001WINE
0000100002BEER
0000100002BEER-BLONDE
0000100002BEER-BROWN
0000100002BEER-WHITE
0000100002BEER-DARK
0000100003OTHER
/*

我能用排序或ICETOOL来解决这个问题吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-12 17:33:00

不再使用联接来根据另一个值(同一行)来更改值,我后来了解到,可以简单地将IFTHEN与Sync排序一起使用。

代码语言:javascript
复制
//SYSIN    DD *
  OPTION COPY
  INREC IFTHEN=(WHEN=(40,11,CH,EQ,C'BEER-BLONDE'),OVERLAY=(11:C'0000100002')),
    IFTHEN=(WHEN=(40,10,CH,EQ,C'BEER-BROWN'),OVERLAY=(11:C'0000100002')),
    IFTHEN=(WHEN=(40,10,CH,EQ,C'BEER-WHITE'),OVERLAY=(11:C'0000100002')),
    IFTHEN=(WHEN=(40,9,CH,EQ,C'BEER-DARK'),OVERLAY=(11:C'0000100002')),
    IFTHEN=(WHEN=(40,4,CH,EQ,C'BEER'),OVERLAY=(11:C'0000100002')),
    IFTHEN=(WHEN=(40,4,CH,EQ,C'WINE'),OVERLAY=(11:C'0000100001')),
    IFTHEN=(WHEN=(40,5,CH,EQ,C'OTHER'),OVERLAY=(11:C'0000100003'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56481129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档