Пропозиція вибрати (select) в мові запитів 1с підприємства 8


Живе на форумі

Група: Команда
Повідомлень: 3410
З: Одеса
Подякували: 1249 раз
Рейтинг: 908.3

У даній статті розглянуто пропозицію ВИБРАТИ, його місце і роль в мові запитів 1С: Підприємство 8.

Пропозиція ВИБРАТИ є єдиним обов'язковим елементом будь-якого запиту, тому вивчення мови запитів починається саме з нього. Основна мета пропозиції ВИБРАТИ полягає в тому, щоб вказати поля вибірки, які повинні потрапити в результат запиту.

Нижче розглянуті наступні теми:
- Місце пропозиції ВИБРАТИ в структурі запиту 1С: Підприємство 8
- Приклади запитів з пропозицією ВИБРАТИ:
- Вибірка всіх полів (крім віртуальних) з таблиць
- Вибірка тільки певних полів з таблиць
- Віртуальні поля
- Розіменування посилальних полів
- Псевдоніми полів (ключове слово ЯК / AS)
- Звернення до табличній частині як вкладеної таблиці
- Звернення до табличній частині як таблиці-джерела
- Ключове слово РІЗНІ / DISTINCT
- Ключове слово ПЕРШІ / TOP
- Вирази в списку полів вибірки

Місце пропозиції ВИБРАТИ в структурі запиту
У будь-який запит має бути хоча б одне речення ВИБРАТИ.
У списку полів вибірки має бути опис хоча б одного поля вибірки, яке в загальному випадку є вираженням.

Приклади запитів з пропозицією ВИБРАТИ

1. Вибірка всіх полів (крім віртуальних) з таблиць

Замість перерахування списку полів можна вказати зірочку ( "*") і тоді в результат запиту потраплять всі поля таблиці-джерела, крім віртуальних. наприклад:

Зауваження. У мові запитів є можливість обійтися без пропозиції ІЗ, якщо опис поля містить повний шлях до нього із зазначенням таблиці-джерела, наприклад,



2. Вибірка тільки певних полів з таблиць

Найпростішим способом є перерахування кількох полів з таблиці-джерела запиту, тоді тільки ці поля потраплять в результат запиту.

3. Віртуальні поля

Деякі поля в таблицях-джерелах віртуальні, наприклад, поле «Подання» для таблиці довідника і документа, або поле «момент часу» для документа. Це означає, що вони не зберігаються в базі даних, а генеруються «на льоту». Віртуальні поля не включаються в результат запиту, коли замість списку полів вказана зірочка ( "*"), їх потрібно вказувати явно, наприклад «ВИБРАТИ *, Подання З Справочнік.Товари». Таке рішення було прийнято для прискорення виконання класичного запиту «ВИБРАТИ * З. ». В цьому випадку не потрібно генерувати уявлення для елементів довідників і документів, отже запити будуть виконуватися швидше.

4. разименованія посилальних полів

В 1С: Підприємство 8 допускається звернення до властивостей об'єктів через одну або кілька точок, наприклад, «Номенклатура.Поставщік.Страна». Це дозволяє значно спростити написання запитів. Завжди використовуйте разименованія полів там, де це можливо, щоб не ускладнювати запити зайвими конструкціями.

5. Псевдоніми полів (ключове слово ЯК / AS)

Для поля може бути призначений псевдонім за допомогою ключового слова ЯК. Це дозволяє звертатися до поля за псевдонімом при вказівці підсумків і порядку сортування, а також при обході вибірки з результату запиту, наприклад:

Ключове слово ЯК є необов'язковим, тобто вищенаведений запит можна записати так:

6. Звернення до табличній частині як вкладеної таблиці

У цьому випадку поле результату запиту матиме тип РезультатЗапроса, тобто містити вкладений результат запиту, сформований на основі табличній частині.

Зверніть увагу, що якщо виконати наступний запит, то в результаті запиту буде дві вкладені таблиці: в першій - одна колонка Номенклатура, а в другій - колонка Кількість:

7. Звернення до табличній частині як таблиці-джерела

При такому способі звернення ім'я вкладеної таблиці фігурує в назві таблиці-джерела (пропозиція ІЗ або повні імена полів) і в результаті запиту немає вкладених таблиць.

8. Ключове слово РІЗНІ / DISTINCT

Ключове слово РІЗНІ дозволяє залишити в результаті запиту тільки відрізняються рядки.

9. Ключове слово ПЕРШІ / TOP

Дане ключове слово дозволяє обмежити вибірку декількома першими записами. Часто це ключове слово застосовується в комбінації з сортуванням (пропозиція УПОРЯДОЧИТЬ ПО).

10. Вирази в списку полів вибірки

Як опису поля вибірки може бути вираз, що використовує такі елементи:
Літерали типів: число, рядок (в лапках), булево (значення Істина і Брехня), Null, Не визначено. [Зауваження: Щоб вказати літерал типу "дата", можна скористатися ключовим словом мови запитів ДАТАВРЕМЯ або передати дату через параметр запиту].
Параметри запиту (зі знаком )
ім'я поля
Ім'я табличній частині
Розіменування посилального поля (через одну або кілька точок)
Арифметичні операції (+, -, /, *) [Зауваження: операція отримання залишку% в мові запитів не підтримує]
Операція конкатенації рядків (+) [Зауваження: операцію конкатенації не можна використовувати для віртуальних полів]
Вбудовані функції мови запитів (ДЕНЬ, МІСЯЦЬ, РІК і т.д.)
Агрегатні функції (СУМА, МІНІМУМ, МАКСИМУМ, СЕРЕДНЯ, КІЛЬКІСТЬ)
Операція вибору ВИБІР / CASE - дозволяє отримати одне з можливих значень відповідно до вказаних умов.
Операція приведення типів ВИРАЗИТИ / CAST

Нижче наведено кілька прикладів з виразами в списку полів вибірки:


Таким чином, пропозиція ВИБРАТИ є найважливішим елементом мови запитів, оскільки дозволяє вказати необхідні поля результату запиту. Гнучкі можливості пропозиції ВИБРАТИ дозволяють використовувати мову запитів для вирішення найрізноманітніших завдань.

Схожі статті