SELECT; ICASE(; EMPTY(GETWORDNUM(TRIM(cur1.cName),1,'.')),SPACE(Cur2.iLen01),; ISDIGIT(GETWORDNUM(TRIM(cur1.cName),1,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),1,'.'),Cur2.iLen01,'0'),; PADR(GETWORDNUM(TRIM(cur1.cName),1,'.'),Cur2.iLen01)); +; ICASE(; EMPTY(GETWORDNUM(TRIM(cur1.cName),2,'.')),SPACE(Cur2.iLen02),; ISDIGIT(GETWORDNUM(TRIM(cur1.cName),2,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),2,'.'),Cur2.iLen02,'0'),; PADR(GETWORDNUM(TRIM(cur1.cName),2,'.'),Cur2.iLen02)); +; ICASE(; EMPTY(GETWORDNUM(TRIM(cur1.cName),3,'.')),SPACE(Cur2.iLen03),; ISDIGIT(GETWORDNUM(TRIM(cur1.cName),3,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),3,'.'),Cur2.iLen03,'0'),; PADR(GETWORDNUM(TRIM(cur1.cName),3,'.'),Cur2.iLen03)); AS vVerbindungsSort,; +; ICASE(; EMPTY(GETWORDNUM(TRIM(cur1.cName),4,'.')),SPACE(Cur2.iLen04),; ISDIGIT(GETWORDNUM(TRIM(cur1.cName),4,'.')),PADL(GETWORDNUM(TRIM(cur1.cName),4,'.'),Cur2.iLen04,'0'),; PADR(GETWORDNUM(TRIM(cur1.cName),4,'.'),Cur2.iLen04)); AS cSort,; cur1.cName AS cNr; FROM curSource AS cur1; FULL JOIN (; SELECT; MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),1,'.'))) AS iLen01,; MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),2,'.'))) AS iLen02,; MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),3,'.'))) AS iLen03,; MAX(LEN(GETWORDNUM(TRIM(Cur2_1.cName),4,'.'))) AS iLen04; FROM curSource AS Cur2_1; ) AS Cur2; ON .T.; ORDER BY 1Update: