Ask sql »(« АСКЛ ») - альтернативний доступ до баз даних (для ms sql і mysql)

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

Починаємо формувати таблицю.

Перший стовпець «№» - задається шлях по структурі у вигляді ієрархії, наприклад, 1 - 1.1 - 1.2 - 1.2.1 - 1.2.2 - 1.3.

Другий стовпець «Ідентифікатор» приймає значення позначення елемента. Задамо тоді і стовпець Найменування ».

Далі представимо стовпець «Тип об'єкта», де будемо вказувати «Складальна одиниця», «Деталь», «Інше» і т.д.

Стовпець «Чи є структура» дозволятиме нам мати уявлення про наявність структури у елемента.

Стовпець «Кількість» містить кількість елементів на заданому рівні.

Останнім у вихідній таблиці буде стовпець «Ціна».

Для реалізації завдання по підрахунку суми з урахуванням кількості вищих рівнів в MS Excel спробуємо застосувати формули. Для початку спробуємо знайти по першому стовпцю (колонка A) номер шляху батьківського елемента, наприклад, в 5-му рядку:

Дізнаємося рівень, на якому знаходиться наш елемент:

Можемо навіть подивитися наверх, щоб уточнити значення в стовпці «Кількість» у батьківських елементів

Де AB5 - це осередок з батьківським номером в дорозі, а стовпець ($ K $ 1) - це номер стовпця для відступу вправо по функції ВПР.

Далі ми стовпець з ціною помножимо на стовпець з кількістю (запишемо результат в стовпець Z), але з умовою що на батьківський елемент не проставлена ​​ціна, інакше ми будемо вважати ціну, яка задана зверху:

Пізніше спробуємо підсумувати все нижчестоящі елементи по кожному вузлу - якщо є сума, то ми використовуємо її, інакше підсумовуємо:

Такий підхід звичайно не може претендувати на кращий метод розрахунку, оскільки не дозволяє враховувати правильно застосовність батьківських елементів в структурі, тому кращим рішенням буде застосування макросу на VBA.

На початку нам необхідно навчитися знаходити ім'я та по батькові. Дивимося і копіюємо код:

CREATE USER 'user' @ 'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *. * TO 'user' @ 'localhost' WITH GRANT OPTION;

MySQL - granting access permissions

-- mySQL granting DB specific privileges:
GRANT ALL PRIVILEGES on DBNAME. * TO 'user' @ '%' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;

-- mySQL granting generic specific privileges:
GRANT ALL PRIVILEGES on *. * TO 'user' @ '%' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;

Android App Reader