Добавить содержимое нескольких таблиц - Visual FoxPro - PullRequest
0 голосов
/ 13 декабря 2010

Я работаю с бухгалтерской системой с бэкэндом 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'

Я бы не хотел выполнять отдельнуюзапрос для каждой таблицы ...

Спасибо -

Джонатан

1 Ответ

3 голосов
/ 13 декабря 2010

Вы можете объединить запросы, используя оператор объединения.

Пример:

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'
...