2010-12-13 72 views
0

我正在使用Visual Foxpro后端的会计系统。每个月,所有的发票和付款都会从当前的发票/付款表中移到一个新的表格(在不同的目录中),只有该月份的数据。例如:添加多个表格的内容 - Visual FoxPro

MainDBDir 
    currentInvoices.dbf (contains Dec invoices) 
    currentPayments.dbf (contains Dec payments) 
    2010Dir 
     NovDir 
      invoices.dbf (contains Nov2010 invoices) 
      payments.dbf (contains Nov2010 payments) 
     OctDir 
      invoices.dbf (contains Oct2010 invoices) 
      payments.dbf (contains Oct2010 payments) 

我需要对最近六个月的数据执行查询。有没有一种方法可以在单个Visual Foxpro查询中连接多个表(来自多个目录)?

我需要的是这样的:

select * from concatenate(currentInvoices, 2010Dir/NovDir/invoices.dbf, 2010Dir/OctDir/invoices) where invoice_number like '12345' 

我宁可不为每个表执行一个单独的查询......

Thanks-

乔纳森

回答

3

,可以串联通过使用union语句进行查询。

实施例:

select * from currentInfoices.dbf 
    where invoice_number like '12345' 
union 
select * from "2010Dir\OctDir\invoices.dbf" 
    where invoice_number like '12345' 
union 
select * from "2010Dir\NovDir\invoices.dbf" 
    where invoice_number like '12345' 

select * 
    from (select * from currentInfoices.dbf 
      union select * from "2010Dir\OctDir\invoices.dbf" 
    union select * from "2010Dir\NovDir\invoices.dbf") q 
    where invoice_number like '12345'