Qualify

Оператор Qualify используется для включения квалификации имен полей, т. е. имена полей получат имя таблицы в качестве префикса.

Syntax:  

Qualify *fieldlist

 

Автоматическое объединение полей с одинаковыми именами в разных таблицах можно отключить с помощью оператора qualify, который уточняет имя поля с помощью имени таблицы. В случае уточнения имена полей будут изменены после их нахождения в таблице. Новое имя будет иметь вид tablename.fieldname. Tablename соответствует метке текущей таблицы или, при отсутствии метки, имени после слова from в операторах LOAD и SELECT.

Уточнение будет выполнено для всех полей, загруженных после оператора qualify.

Когда запускается скрипт, функция уточнения всегда отключена по умолчанию. Уточнение имени поля можно включить в любое время с помощью оператора qualify. Уточнение можно выключить в любое время с помощью оператора Unqualify.

Примечание: Оператор qualify запрещается использовать в контексте частичной перезагрузки.

Arguments:  

Аргумент Описание
*fieldlist Список полей, разделенных запятыми, для которых следует включить уточнение. Символ * в качестве списка полей обозначает все поля. В именах полей разрешается использовать знаки подстановки * и ?. При использовании знаков подстановки, возможно, понадобится заключать имена полей в кавычки.

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

Example 2:  

При работе с неизвестной базой данных сначала полезно убедиться в том, что связаны только одно или несколько полей, как показано в данном примере:

qualify *;

unqualify TransID;

SQL SELECT * from tab1;

SQL SELECT * from tab2;

SQL SELECT * from tab3;

Для связей между таблицами tab1, tab2 и tab3 будет использоваться только TransID.

See also: