first: using dataBASEdesctop copy table stock from dolly to Minerva then : insert into detdescr(mid,descr) select 1,category from stock2 group by category insert into detdescr(mid,descr) select 2,subcat1 from stock2 group by subcat1 insert into detdescr(mid,descr) select 3,subcat2 from stock2 group by subcat2 then : update stock2 set category=(select id from detdescr where detdescr.descr=stock2.category and mid=1) update stock2 set subcat1=(select id from detdescr where detdescr.descr=stock2.subcat1 and mid=2) update stock2 set subcat2=(select id from detdescr where detdescr.descr=stock2.subcat2 and mid=3) then : insert into stock(ITEM,DESCR1,CATEGORY,SUBCAT1,SUBCAT2,WHEREIS,SUNIT,PACK,BCOSTus,BCOSTLc,posprice1,PRICEA,PRICEb,VAT,LCOST,barcode1,pack1,price1,barcode2,pack2,price2,barcode3,pack3,price3,barcode4,pack4,price4) select ITEM,DESCR,CATEGORY,SUBCAT1,SUBCAT2,WHEREIS,SUNIT,PACK,COSTus,COSTLl,pricea,PRICEA,PRICEc,VAT,LCOST,bar1,barpack1,barprice1,bar2,barpack2,barprice2,bar3,barpack3,barprice3,ref,pack,pricec from stock2 insert into user_ (username,pass) select username,pass from user_2 insert into barcodes(barcode,item,pack) select bar4,item,barpack4 from stock2 where bar4 is not null and bar4<>'' and bar4 not in (select barcode from barcodes) insert into barcodes(barcode,item,pack) select mybar8,item,1 from stock2 where mybar8 is not null and mybar8<>'' and mybar8 not in (select barcode from barcodes) insert into barcodes(barcode,item,pack) select bar5,item,barpack5 from stock2 where bar5 is not null and bar5<>'' and bar5 not in (select barcode from barcodes) insert into contactlist(NAME) SELECT CONTACT FROM SUB5 WHERE CONTACT IS NOT NULL GROUP BY CONTACT UPDATE SUB5 SET CONTACT=(SELECT ID FROM CONTACTLIST WHERE NAME=SUB5.CONTACT) UPDATE SUB SET CONTACT=(SELECT CONTACT FROM SUB5 WHERE SUB.SID=SUB5.SID)