* Assuming you don't have deleted records in curTable SELECT cTableNumber, cTableNumber + "." + TRANSFORM(sn) AS cChairNumber ; FROM curTable ; JOIN ( ; SELECT RECNO() AS sn FROM curTable ; UNION ALL ; SELECT RECNO() + RECCOUNT() AS sn FROM curTable ) crsNumbers ON curTable.iChair >= crsNumbers.snThe inner select with UNION creates a Numbers table. You can create it any way that works for you. Just make sure that it hold sequential whole numbers with max value not less than # of chairs. For example
* Create numbers table lnMaxChairs = 8 CREATE CURSOR crsNumbers (sn i) FOR i=1 TO lnMaxChairs INSERT INTO crsNumbers VALUES(i) ENDFOR SELECT cTableNumber, cTableNumber + "." + TRANSFORM(sn) AS cChairNumber ; FROM curTable ; JOIN crsNumbers ON curTable.iChair >= crsNumbers.sn>
>CREATE CURSOR curTable (cTableNumber, iChair) >INSERT INTO curTable VALUES ('1',4) >INSERT INTO curTable VALUES ('2',3) >INSERT INTO curTable VALUES ('3',2) >INSERT INTO curTable VALUES ('4',6) >>
>CREATE CURSOR curChair (cTableNumber, cChairNumber) >INSERT INTO curTable VALUES ('1',"1.1") >INSERT INTO curTable VALUES ('1',"1.2") >INSERT INTO curTable VALUES ('1',"1.3") >INSERT INTO curTable VALUES ('1',"1.4") >INSERT INTO curTable VALUES ('2',"2.1") >INSERT INTO curTable VALUES ('2',"2.2") >INSERT INTO curTable VALUES ('2',"2.3") >INSERT INTO curTable VALUES ('3',"3.1") >INSERT INTO curTable VALUES ('3',"3.2") >INSERT INTO curTable VALUES ('4',"4.1") >INSERT INTO curTable VALUES ('4',"4.2") >INSERT INTO curTable VALUES ('4',"4.3") >INSERT INTO curTable VALUES ('4',"4.4") >INSERT INTO curTable VALUES ('4',"4.5") >INSERT INTO curTable VALUES ('4',"4.6") >>