SQL запросы (версия 3.xx): различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 17: Строка 17:
Для работы с данными CRM Bitrix24 можно использовать стандартные SQL запросы, которые буду преобразованы в формат [http://dev.1c-bitrix.ru/rest_help/ REST API Bitrix24].
Для работы с данными CRM Bitrix24 можно использовать стандартные SQL запросы, которые буду преобразованы в формат [http://dev.1c-bitrix.ru/rest_help/ REST API Bitrix24].
Поддерживаются SQL - операторы:
Поддерживаются SQL - операторы:
* '''select''' - выборка данных. В списке полей можно указать * - все поля, или список полей через запятую, например ID, Phone и т.д. При использовании * есть особенность, возвращаются не все поля выбранной таблицы, не возвращаются обьектные поля, например, поле номера телефона Phone, его нужно указывать явно.
* '''select''' - выборка данных. В списке полей можно указать * - все поля, или список полей через запятую, например ID, Phone и т.д. При использовании * есть особенность, возвращаются не все поля выбранной таблицы, не возвращаются обьектные поля, например, поле номера телефона Phone, его нужно указывать явно. Выражения не поддерживаются.
** '''where''' - позволяет указать условие выборки. Первым операндом должно быть имя поля указанной таблицы, оператор сравнения может быть like, >=, <=, =, >, <, вторым операндом должна быть константа. Выражения не поддерживаются.
** '''where''' - позволяет указать условие выборки. Первым операндом должно быть имя поля указанной таблицы, оператор сравнения может быть like, >=, <=, =, >, <, вторым операндом должна быть константа. Выражения не поддерживаются.
** '''order by''' - позволяет указать порядок сортировки результатов в формате <имя поля> [asc|desc]. Выражения не поддерживаются. Например: order by Id desc
** '''order by''' - позволяет указать порядок сортировки результатов в формате <имя поля> [asc|desc]. Выражения не поддерживаются. Например: order by Id desc
Строка 27: Строка 27:
Помимо стандартного синтаксиса SQL, в запросах к источнику данных Bitrix24 можно использовать вставки родного синтаксиса REST API Bitrix24. Для этого используется конструкция <! !>. Такую возможность можно использовать в операторах:
Помимо стандартного синтаксиса SQL, в запросах к источнику данных Bitrix24 можно использовать вставки родного синтаксиса REST API Bitrix24. Для этого используется конструкция <! !>. Такую возможность можно использовать в операторах:
* '''where''' - для указания условий выборки: where /! {"=ID": 4} !/, полученное значение будет поставлено в параметр filter REST API Bitrix24.
* '''where''' - для указания условий выборки: where /! {"=ID": 4} !/, полученное значение будет поставлено в параметр filter REST API Bitrix24.
* '''order by''' - для указания порядка сортировки: order by /! {"DATE_CREATE": "ASC"} !/, полученное значение будет поставлено в параметр order REST API Bitrix24.
* '''order by''' - для указания порядка сортировки: order by /! {"DATE_CREATE": "ASC"} !/, полученное значение будет поставлено в параметр order REST API Bitrix24.
* '''order by''' - для указания порядка сортировки: order by /! {"DATE_CREATE": "ASC"} !/, полученное значение будет поставлено в параметр order REST API Bitrix24.
* '''limit''' - для указания смещения выборки и количества строк: limit /! {limit: 5, offset: 10} !/, полученное значение будет поставлено в параметры limit и offset REST API Bitrix24.
* '''limit''' - для указания смещения выборки и количества строк: limit /! {limit: 5, offset: 10} !/, полученное значение будет поставлено в параметры limit и offset REST API Bitrix24.
Если по каким то причинам стандартный синтаксис SQL не подходит, можно использовать вызовы методов REST API Bitrix24 напрямую, без преобразования. Для этого следует вместо SQL запроса указать конструкцию:
<! {Method: <название метода>, Params: <параметры метода>} !>
Например:
<! {Method: 'crm.contact.list',
    Params: {
                order: { "DATE_CREATE": "ASC" },
                filter: { "TYPE_ID": "CLIENT" },
                select: [ "ID", "NAME", "LAST_NAME", "TYPE_ID", "SOURCE_ID" ]
            }
    } !>

Версия 18:10, 18 января 2017

SQL - запросы (structured query language) являются очень эффективным языком для управления данными (Википедия). Несмотря на большие возможности, которые предоставляет язык SQL, в простых ситуациях он достаточно просто и не требуют специальных знаний. Основные контрукции языка практически не зависят от типа используемого источника данных.

SQL запросы

Например, для того что бы выбрать все данные из нужной таблицы, скажем листа документа Excel достаточно просто указать:

select * from `Лист1$`

Этот запрос выберет все данные с листа Лист1 документа Excel. Если вам не нужны все строки, можно выбрать только нужные, для этого служит оператор where, например запрос:

select * from `Лист1$` where City = 'Москва'

выберет все данные с листа Лист1 у которых в столбце City указан город Москва.

SQL запросы Bitrix24

Для работы с данными CRM Bitrix24 можно использовать стандартные SQL запросы, которые буду преобразованы в формат REST API Bitrix24. Поддерживаются SQL - операторы:

  • select - выборка данных. В списке полей можно указать * - все поля, или список полей через запятую, например ID, Phone и т.д. При использовании * есть особенность, возвращаются не все поля выбранной таблицы, не возвращаются обьектные поля, например, поле номера телефона Phone, его нужно указывать явно. Выражения не поддерживаются.
    • where - позволяет указать условие выборки. Первым операндом должно быть имя поля указанной таблицы, оператор сравнения может быть like, >=, <=, =, >, <, вторым операндом должна быть константа. Выражения не поддерживаются.
    • order by - позволяет указать порядок сортировки результатов в формате <имя поля> [asc|desc]. Выражения не поддерживаются. Например: order by Id desc
    • limit - позволяет указать начальное значение выборки и количество строк. Например: limit 50 или limit 10, 50
  • insert - вставка данных, позволяет указать список полей и константы значений, выражения не поддерживаются.
  • update - изменение данных, позволяет указать список изменяемых полей и единственное условие отбора: where id =.
  • delete - удаление данных, позволяет единственное условие отбора: where id =.

Помимо стандартного синтаксиса SQL, в запросах к источнику данных Bitrix24 можно использовать вставки родного синтаксиса REST API Bitrix24. Для этого используется конструкция <! !>. Такую возможность можно использовать в операторах:

  • where - для указания условий выборки: where /! {"=ID": 4} !/, полученное значение будет поставлено в параметр filter REST API Bitrix24.
  • order by - для указания порядка сортировки: order by /! {"DATE_CREATE": "ASC"} !/, полученное значение будет поставлено в параметр order REST API Bitrix24.
  • limit - для указания смещения выборки и количества строк: limit /! {limit: 5, offset: 10} !/, полученное значение будет поставлено в параметры limit и offset REST API Bitrix24.

Если по каким то причинам стандартный синтаксис SQL не подходит, можно использовать вызовы методов REST API Bitrix24 напрямую, без преобразования. Для этого следует вместо SQL запроса указать конструкцию:

<! {Method: <название метода>, Params: <параметры метода>} !>

Например:

<! {Method: 'crm.contact.list', 
    Params: { 
               order: { "DATE_CREATE": "ASC" },
               filter: { "TYPE_ID": "CLIENT" },
               select: [ "ID", "NAME", "LAST_NAME", "TYPE_ID", "SOURCE_ID" ]
            }
   } !>