SET TALK OFF CREATE CURSOR test ( ; ItemNum C(5), Status C(1), Cust C(3), Sku C(10)) SET TEXTMERGE ON SET TEXTMERGE TO ("test.txt") TEXT TEXTMERGE NOSHOW PRETEXT 7 I0001,1,149,50391, I0001,3,116,654781871 I0002,3,116,651571536 I0002,3,203,103911 I0002,3,213,50197133 I0002,1,225,93818 I0003,1,149,50395 I0004,1,149,50398 I0004,1,175,30919199 I0004,1,198,9858833 I0004,3,213,50197168 I0005,1,103,309193910 I0005,3,149,50611 I0005,1,175,31020155 I0005,3,213,50383541 ENDTEXT SET TEXTMERGE TO SET TEXTMERGE OFF APPEND FROM ("test.txt") DELIMITED GO TOP DELETE WHILE EMPTY(ItemNum) *BROWSE LAST NOWAIT SELECT *, 000000000 AS rn ; FROM test ; WHERE Status = "3" ; ORDER BY ItemNum, Cust, Sku ; INTO CURSOR s3 READWRITE =AssignRn() SELECT *, 000000000 AS rn ; FROM test ; WHERE Status = "1" ; ORDER BY ItemNum, Cust, Sku ; INTO CURSOR s1 READWRITE =AssignRn() SELECT NVL(s3.ItemNum, s1.ItemNum) AS ItemNum, ; s3.Status, s3.Cust, s3.Sku, ; s1.rn, ; s1.Status, s1.Cust, s1.Sku ; FROM s3 ; FULL JOIN s1 ON s3.ItemNum = s1.ItemNum ; AND s3.rn = s1.rn ; INTO CURSOR crsResult BROWSE LAST NOWAIT RETURN *--------------------------- FUNCTION AssignRn lcItemNum = "?????" SCAN IF ItemNum <> lcItemNum lnRn = 0 lcItemNum = ItemNum ENDIF lnRn = lnRn + 1 REPLACE rn WITH lnRn ENDSCAN RETURN>
>ItemNum Status Cust Sku >I0001 1 149 50391 >I0001 3 116 654781871 >I0002 3 116 651571536 >I0002 3 203 103911 >I0002 3 213 50197133 >I0002 1 225 93818 >I0003 1 149 50395 >I0004 1 149 50398 >I0004 1 175 30919199 >I0004 1 198 9858833 >I0004 3 213 50197168 >I0005 1 103 309193910 >I0005 3 149 50611 >I0005 1 175 31020155 >I0005 3 213 50383541 >>
>I0001 3 149 50391 1 149 50391 >---------------------------------------------------- >I0002 3 116 651571536 1 225 93818 > 3 203 103911 > 3 213 50197133 >---------------------------------------------------- >I0004 3 213 50197168 1 149 50398 > 1 175 30919199 > 1 198 9858833 >---------------------------------------------------- >I0005 3 149 50611 1 103 309193910 > 3 213 50383541 1 175 31020155 >>
>* Unintented results >I0005 3 149 50611 1 103 309193910 > 3 149 50611 1 175 31020155 > 3 213 50383541 1 103 309193910 > 3 213 50383541 1 175 31020155 >>