Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Обчислення у запитахСтр 1 из 3Следующая ⇒
Запити до зв'язаних таблиць За потреби створити запит до кількох таблиць (або запитів) їх слід вибрати у вікні Добавление таблицы так, як при створенні схеми даних. Вибрані таблиці зображуються у верхній частині Конструктора запитів; якщо між ними є зв'язки, то вони також відображуються. Вибір полів на бланку запиту відбувається так само, як при створенні запиту до однієї таблиці. Запит 6 Вивести відомості про всі виплати всім співробітникам. У результаті мають міститися поля ПІБ, ДАТА ВИПЛАТИ і СУМА.Вміст бланка запиту показано у таблиці на рис. 6.
Рис. 6. Бланк запиту 6 Обчислення у запитах У СУБД АССЕ88 існують два види обчислень у запитах: — створення нових обчислювальних полів; — обчислення підсумкових значень. Для створення обчислювального поля потрібно у бланку запиту в рядку Поле ввести конструкцію такого виду: < Назва._обчислювального_поля>: < Вираз>. Вираз задає правило, за яким обчислюють значення у створюваному полі. Він може містити знаки математичних операцій, дужки, стандартні функції АССЕ88, імена полів таблиці, до якої створюється запит, взяті у квадратні дужки. Якщо потрібно використати поле іншої таблиці, то вказують таку конструкцію: [ім'я таблиці].[ім'я поля] Запит 7 Вивести дані про розміри всіх виплат співробітникові Петренку П.П. за останні 60 днів із врахуванням відрахувань у пенсійний фонд (2%). Вміст бланка запиту показано у таблиці на рис. 7.
Рис. 7. Бланк запиту 7 Результат запиту показано на рис. 8. Рис. 8. Результат виконання запиту 7 Зауваження. Функція CCur переводить значення числового типу в значення грошового типу, додаючи 2 знаки після коми і позначення грошової одиниці. Без використання цієї функції значення у полі Пенсійний фонд виглядають як звичайні цілі числа. Для обчислення підсумкових значень необхідно внести у бланк запиту рядок Групповая операция натисненням однойменної кнопки на стандартній панелі інструментів. СУБД АССЕ88 дає змогу виконувати такі групові операції над даними: • Группировка операція призначена для групування даних у тому полі, в якому вона встановлена (відповідні записи виводяться підряд); • Sum — знаходження суми значень у відповідному полі; • Avg (Average) — знаходження середнього арифметичного; • Мin — знаходження мінімального значення у полі; • Мах — знаходження максимального значення у полі; • Count —знаходження кількості записів; • StDev —знаходження середньоквадратичного відхилення; • Va r — знаходження дисперсії; • First — знаходження першого значення; • Last — знаходження останнього значення. Запит 8 Отримати загальну суму виплат, зроблених кожному співробітникові. У відповіді вивести поля ПІБ і ЗАГАЛЬНА СУМА. Вміст бланка запиту показано у таблиці на рис. 9.
Рис. 9. Бланк запиту 8 При виконанні таких запитів ACCESS автоматично присвоює ім'я підсумковому полю за правилом Назва_групової_операції_Назва_поля_таблиці (у даному разі: Sum_Cyмa). Щоб присвоїти полю бажане ім'я, потрібно у бланку запиту встановити вказівник миші на назві поля, в якому обчислюється підсумкове значення (у даному разі — Сума), викликати контекстне меню поля і вибрати команду Свойства. У рядку Подпись необхідно вказати потрібне ім'я поля. При перегляді результату запиту можна побачити нову назву підсумкового поля. Запит 9 Отримати середнє значення виплат, зроблених кожному співробітникові протягом 2001 р. У відповіді вивести поля ПІБ та СЕРЕДНЯ ВИПЛАТА ЗА 2001 РІК. Вміст бланка запиту показано у таблиці на рис. 10. Зауваження. Якщо при виконанні групових операцій на поле встановлюється певна умова (у даному разі таке поле — Дата виплати), то в рядку бланка Групповая операция для цього поля необхідно встановити значення Условие. Виве дення на екран для такого поля заборонено.
Рис. 10. Бланк запиту 9 Доцільно поекспериментувати з розглянутим запитом, змінивши у полі ДАТА ВИПЛАТИ значення Условие на Группировка і встановивши для цього поля виведення на екран. При створенні запитів на обчислення підсумкових значень важливо стежив за поміщенням полів у бланк запиту. Навіть наявність у бланку певного полябез його виведення на екран може суттєво впливати на результат запиту. Запит 10 Обрахувати загальний фонд заробітної плати та розмір середньої виплат за 2001 р. У результаті вивести поля ЗАГАЛЬНА СУМА ВИПЛАТ і СЕРЕДНЯ ВИПЛАТА. Вміст бланка запиту показано у таблиці на рис. 11. Результат запиту містити^ один запис із двох полів, назви яких вказані у властивостях підсумкових полів
Рис. 11. Бланк запиту 10 Слід зазначити, що у бланку запиту нема поля, що ідентифікує кожний окремий запис (КОД). За його наявності (навіть без виведення на екран) Підсумкові значення обчислювалися би не для всієї таблиці, а для кожного співробітника окремо.
|