join
Описание
Комбинирует результаты подзапроса с результатами основного запроса.
Синтаксис
join [join-options...] [field-list] subsearch
Обязательные аргументы
Параметр | Синтаксис | Описание |
---|---|---|
subsearch | [ subsearch ] | Запрос должен быть включен в квадратные скобки и начинаться с указания источника (source, script, makeresults и т.д.). |
Опциональные аргументы
Параметр | Синтаксис | По умолчанию | Описание |
---|---|---|---|
field-list | field1 (field2 field3 ...) | Если никакие поля не указаны, система будет производить автоматический выбор наиболее подходящих полей (по имени). | Список полей, по которым будет производиться сопоставление результатов для обогащения (дополнения). |
join-options | type=(inner|outer| left) | max=<int> | Уточняющее описание для join. |
Опции join
Параметр | Синтаксис | Описание |
---|---|---|
type | type=(inner|outer|left) | type описывает способ "схлопывания" результатов. |
max | max=<int> | Определяет максимальное количество записей, полученных от join (найденными совпадениями), для дополнения каждой записи исходного запроса. |
Типы join
В случае inner
в результат будут добавлены только те значения, по которым получилось обнаружить полное совпадение (например поле user (и его значение) в исходном запросе совпало с полем user (и его значением) в выборке join
).
В случае left
|outer
в результат будут добавлены все результаты из исходной выборки, а результаты по которым удалось найти совпадения, будут дополнены данн ыми из join.
Примеры запросов
Пример №1
source accessLogs qsize=10
| join type=left max=3 user message
[source radius_logs]
Пример №2
source accessLogs
| join type=inner user message
[source radius_logs]
Пример №3
source accessLogs
| join type=inner max=5 user message
[source radius_logs]