Правила задання умов у запитах. Як створювати запити для проведення статистичних розрахунків. Узагальнюючі запити для груп записів
« Назад Створення запиту за допомогою майстра. У меню FILE вибрати команду NEW, натиснути на селекторну кнопку QUERY, а потім — WIZARD. У вікні, що з’явилося, вибрати Query Wizard. На першому кроці можна вибрати поля (з кількох таблиць), які будуть включені у запит. На другому кроці встановлюється відношення між таблицями. Після вибору полів, за якими встановлюється зв’язок, необхідно натиснути на кнопку ADD, для вилучення зв’язку — REMOVE. На третьому кроці задається фільтр для відбору записів. На жаль, у критерії не можна використовувати функції, а тільки конкретні значення. Так у якості критерієв задано, що вибирати треба записи за 10-й місяць та код виробу рівний 22. Четвертий крок, дозволяє задати порядок сортування за трьома полями. Треба вибрати поля та натиснути на кнопку ADD. Кнопки Ascending та Descending дають змогу вибрати порядок сортування: за зростанням або зменшенням значень обраних полів. П’ятий крок — це закінчення створення запиту. Натиснувши на кнопку Preview, можна переглянути результат роботи запиту. Якщо у ньому щось не влаштовує, тоді натисненням на кнопку BACK можна повернутися на будь-який крок і внести зміни. Для закінчення створення запиту треба натиснути на кнопку FINISH або просто ENTER, попередньо вибравши один з трьох варіантів: зберегти запит та повернутися у вікно COMMAND (Save query); зберегти запит та виконати його (Save and run it); зберегти запит та використати конструктор запитів Query Designer для його модифікації (Save query and modify it). Потім необхідно ввести ім’я файла. На диску буде створено файл із розширенням QPR. Редагування запиту відбувається тільки за допомогою конструктора QUERY DESIGNER одним з двох шляхів: командою MODIFY QUERY <ім’я запиту> (Наприклад, modify query query1); меню FILE>OPEN і вибрати тип файлів Query та ім’я запиту. Створення запиту за допомогою конструктора запитів можна почати двома методами: увести команду CREATE QUERY <ім’я файла>; у меню FILE вибрати команду NEW, натиснути на селекторну кнопку QUERY, а потім — на кнопку NEW FILE і набрати ім’я файла. У вікні, що з’явилося, вибрати потрібну базу даних, а далі — файли. Для додавання вільних таблиць натиснути на кнопку OTHER. Після додавання другої таблиці на екрані з’явиться блок діалогу JOIN CONDITION, в якому визначається спосіб зв’язку таблиць. Список ліворуч дозволяє вибрати поле із першої таблиці, список праворуч — із другої. Посередині за допомогою селекторних кнопок визначається тип відношення між полями: • Inner join — «внутрішнє поєднання», містить тільки ті записи з обох таблиць, які відповідають умові поєднання; • Left outer join — ліве зовнішнє поєднання, містить усі записи таблиці зліва і записи, що задовольняють умову поєднання праворуч; • Right outer join — праве зовнішнє поєднання, містить усі записи таблиці праворуч і записи, що задовольняють умову поєднання ліворуч; • Full outer join — повне зовнішнє поєднання, містить всі записи з обох таблиць, для яких виконується умова поєднання. Вкладинка FIELDS призначена для вибору полів та виразів, значення яких будуть виводитись у запиті. Для додавання у запит виразу його потрібно ввести у вікно Functions та Expressions або натиснути на кнопку, що розташована поруч. Завантажиться будівник виразів, який дозволить увести вираз у більш зручній формі. Потім потрібно натиснути на кнопку ADD для додавання виразу у список вибраних полів. Наприклад, для розрахунку потреби в деталях у запит уводиться такий вираз: Вкладинка JOIN призначена для задання критеріїв поєднання записів із різних таблиць. Якщо необхідно поєднати таблиці за кількома полями, у списку LOGICAL треба задати AND та у наступному рядку ввести критерій поєднання по другому полю. Вкладинка FILTER дозволяє, задати умову відбирання поєднаних записів. Наприклад, з таблиць ПЛАН_ВИР та СКЛАД_ВИР вибрати записи, в яких потреба в деталях більша, ніж 200 000 у місяцях з 7 по 10. Поле потреба відсутнє в таблицях, тому у списку FIELD NAME треба вибрати EXPRESSION та увести формулу ПЛАН_ВИР.КІЛЬК_ВИР*СКЛАД_ВИР.КІЛЬК_ДЕТ. Для задання місяця використовується операція BETWEEN, яка дозволяє задати місяці з 7 по 10. Вкладинка ORDER BY дозволяє задати порядок виведення записів у результаті запиту. В область ORDERING CRITERIA додані поля, за якими буде відбуватися впорядкування записів. Вкладинка GROUP BY) дозволяє створювати підсумкові запити щодо заданої групи. Результат запиту містить по одному запису на кожну групу. Щоб створити такий запит, необхідно у вкладинці FIELDS у вікні EXPRESSION увести формулу з використанням таких функцій: • COUNT(<ім’я поля>) — кількість записів, які мають не порожнє поле; • SUM(<вираз>) — сума всіх значень виразу; • AVG(<вираз>) — середнє значення всіх значень виразу; • MIN(<вираз>) — найменше значення з усіх значень виразу; • MAX(<вираз>) — найбільше значення з усіх значень виразу. Наприклад, необхідно визначити середню кількість виробів та загальну кількість деталей по кожному місяцю. Для цього у вкладинці FIELDS: обирається поле МІСЯЦЬ; створюються поля, що обчислюються: AVG(ПЛАН.КІЛЬК_ВИР); SUM(СКЛАД.КІЛЬК_ДЕТ), і теж додаються до списку обраних полів. У вкладинці GROUP BY треба задати групу, за якою будуть виводитися підсумки. Для даного прикладу це поле місяць. Кнопка HAVING використовується для визначення умови фільтрації, щоб обмежити записи, які включені у групування. Виведення результатів запиту за замовчанням відбувається у вікно BROWSE. Вибравши у меню QUERY>QUERY DES-TINATION можна визначити напрямок виведення результатів. На екрані з’явиться блок діалогу QUERY DESTINATION. Кнопка BROWSE дозволяє переглянути результат запиту у вікні BROWSE. Інші кнопки для виведення результату запиту визначають такі імена: CURSOR — курсор (тимчасова таблиця); TABLE — файл-dbf; GRAPH — діаграма, параметри якої необхідно задати; SCREEN визначає екран (виведення відбувається аналогічно команді LIST), принтер або текстовий файл; кнопка REPORT — файл-frx (звіту) або завантажує майстер звітів; кнопка LABEL — файла-lbx (етикетки). Виконання запиту в процесі його створення в режимі конструктора відбувається натисненням на таку кнопку панелі інструментів: або меню QUERY>RUN QUERY. Запит можна побачити у вигляді SQL, якщо після виконання команди RUN QUERY натиснути на кнопку SQL або вибрати меню QUERY>VIEW SQL. Мовою SQL запит може мати такий вигляд: SELECT ПЛАН_ВИР.Місяць, ПЛАН_ВИР.Код_виробу, ПЛАН_ВИР.Кільк_вир; СКЛАД_ВИР.Код_деталі,СКЛАД_ВИР.Кільк_дет; FROM ПОТРЕБА!ПЛАН_ВИР ПЛАН_ВИР INNER JOIN ПОТРЕБА!СКЛАД_ВИР СКЛАД_ВИР ON ПЛАН_ВИР.КОД_ВИРОБУ = СКЛАД_ВИР.КОД_ВИРОБУ; WHERE План_вир.кільк_вир*Склад_вир.кільк_дет > 200000; AND План_вир.місяць BETWEEN 7 AND 10; ORDER BY План_вир.місяць, План_вир.код_виробу, Склад_вир.код_деталі. |