2014-04-09 26 views
0

我希望有人能够帮助,我一直在这个问题上敲我的头。将Foxpro表拆分成许多其他表格

我有两个表。一个拥有全球地址数据,另一个拥有国家名称。

我想根据国家名称为每个国家创建单独的表格 - 例如我想查看国家名称表格,取第一个国家名称,然后扫描地址表格,选择正确的记录,然后选择将它们保存到以国家名称作为文件名的单独表格中,正好通过国家名称文件。例如

australia.dbf; 
belgium.dbf etc. 

我知道它涉及到使用游标和SCAN,但无法让我的头在语法周围。

谢谢

+0

我真的不认为你想这样做,因为你会denormalising你的数据。 – gvee

回答

1

这应该得到你所需要的。我也让它创建一个从“PerCountry”运行的子文件夹,因此每个国家都将放入该文件夹。你显然可以在事后离开。

MD "PerCountry" 

SELECT distinct country; 
    FROM globalAddresses; 
    INTO CURSOR C_JustCountry READWRITE 

SELECT C_JustCountry 
SCAN 
    */ If a country has ANY spaces, change them to underscores 
    cCurrentCountry = C_JustCountry.Country 
    cNewOutputFile = "PerCountry\" + CHRTRAN(ALLTRIM(C_JustCountry.Country), " ", "_") 

    SELECT * ; 
     from globalAddresses ; 
     where country = cCurrentCountry ; 
     INTO TABLE &cNewOutputFile 
ENDSCAN 

CLOSE TABLES all