Qualify
Оператор Qualify используется для включения квалификации имен полей, т. е. имена полей получат имя таблицы в качестве префикса.
Синтаксис:
Qualify *fieldlist
Автоматическое объединение полей с одинаковыми именами в разных таблицах можно отключить с помощью оператора qualify, который уточняет имя поля с помощью имени таблицы. В случае уточнения имена полей будут изменены после их нахождения в таблице. Новое имя будет иметь вид tablename.fieldname. Tablename соответствует метке текущей таблицы или, при отсутствии метки, имени после слова from в операторах LOAD и SELECT.
Уточнение будет выполнено для всех полей, загруженных после оператора 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;
Для связей между таблицами tab1, tab2 и tab3 будет использоваться только TransID.