Qualify
Qualify 陳述式用來切換限定欄位名稱,亦即欄位名稱將獲得表格名稱做為前置詞。
語法:
Qualify *fieldlist
使用 qualify 陳述式可擱置不同表格中擁有相同名稱之欄位的自動聯結,此陳述式可透過其表格名稱限定欄位名稱。如果已限定,當在表格中找到欄位名稱時,將予以重新命名。新名稱的形式將會是 tablename.fieldname。Tablename 相等於目前表格的標籤,或如果沒有標籤存在,則相等於 LOAD 與 SELECT 陳述式中出現在 from 之後的名稱。
會針對 qualify 陳述式後載入的所有欄位進行限定。
一開始執行指令碼時,預設一律會關閉限定。可使用 qualify 陳述式隨時啟動欄位名稱的限定。可使用 Unqualify 陳述式隨時關閉限定。
引數:
引數 | 描述 |
---|---|
*fieldlist | 逗號分隔的欄位清單,其限定應該開啟。 使用 * 做為欄位清單表示所有欄位。可在欄位名稱中使用萬用字元 * 與 ?。使用萬用字元時,可能需要為欄位名稱加上引號。 |
範例 1:
Qualify B;
LOAD A,B from x.csv;
LOAD A,B from y.csv;
兩個表格 x.csv 與 y.csv 僅透過 A 建立關聯。這些欄位將產生:A、x.B、y.B。
範例 2:
在不熟悉的資料庫中,通常較實用的方法是先確定只有一或少數欄位互相關聯,如下列範例所示:
qualify *;
unqualify TransID;
SQL SELECT * from tab1;
SQL SELECT * from tab2;
SQL SELECT * from tab3;
只有 TransID 用於 tab1、tab2 與 tab3 之間的關聯。