很久以前就知道在別的大型資料庫系統裡, Select 有 Union這個子句(clause)
但我不知道VFP有這個子句
前兩天在看VFP輔助說明的時候,才發現到,VFP也有。
那那那…這個指令有啥好處呢?
我用個範例來做說明好了,這個範例是從BBS的Database版上借下來的,有經過改寫,原本是ORACLE的範例:
首先先建立一個Database,然後建好多個 Table,其結構都相同
CREATE DATABASE DEMO
CREATE TABLE DEMO_1995 ;
(TRANS_DATE D, cTEXT C(80), ;
CHECK (TRANS_DATE>={^1995/01/01} AND TRANS_DATE={^1996/01/01} AND TRANS_DATE={^1997/01/01} AND TRANS_DATE={^1998/01/01} AND TRANS_DATE={^1999/01/01} AND TRANS_DATE={^1998/01/01} AND TRANS_DATE<{^1999/07/01}
或者 你也可以不需要建DEMO這個View
你也可以直接用
SELECT * FROM DEMO_1995 ;
UNION ALL ;
SELECT * FROM DEMO_1996 ;
UNION ALL ;
SELECT * FROM DEMO_1997 ;
UNION ALL ;
SELECT * FROM DEMO_1998 ;
UNION ALL ;
SELECT * FROM DEMO_1999
這個時候 也許你會問,這有啥好處呢?? 看來是沒有啊 請注意…
相信各位都曾經有過這種迷惘-以年度區分(或其他)的資料檔到底是要分開呢?還是要放在一起?
假設你選擇了分開,那麼在作整合查詢的時候,就會相當的麻煩。
通常只能先建立一個暫存資料檔,然後依序將零星的資料匯入之後,再對此一暫存資料檔作查詢。
使用了union all,就可以不需要那麼麻煩了。