Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| external:pro_bonus:98_dop:sql_script [2026/04/29 09:11] – создано Алексей Коробов | external:pro_bonus:98_dop:sql_script [2026/10/22 07:00] (текущий) – Исправлены орфография, пунктуация и оформление; содержание не изменено Алексей Коробов | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== SQL-скрипты ====== | ====== SQL-скрипты ====== | ||
| + | Могут пригодиться в особых ситуациях для решения проблем, | ||
| - | Могут пригодиться в особых ситуаций для решения проблем, для которых не предусмотрено кнопок в интерфейсе " | + | ===== Скрипт, сбрасывающий блокировки получателей рассылок в Telegram ===== |
| - | ===== Скрипт, | + | Если система конкретному гостю трижды не смогла отправить сообщение, |
| - | Tсли система конкретному гостю трижды не смогла отправить сообщение, | + | |
| - | Чтобы сбросить эту блокировку | + | |
| < | < | ||
| Строка 15: | Строка 14: | ||
| AND telegram_fail_count > 0; | AND telegram_fail_count > 0; | ||
| </ | </ | ||
| + | |||
| + | ===== Скрипт, | ||
| + | |||
| + | < | ||
| + | WITH EmployeeBonuses AS ( | ||
| + | SELECT | ||
| + | c.[id] as check_id, | ||
| + | EmployeeNode.value(' | ||
| + | EmployeeNode.value(' | ||
| + | EmployeeNode.value(' | ||
| + | EmployeeNode.value(' | ||
| + | (SELECT SUM(BonusNode.value(' | ||
| + | FROM c.xml_native.nodes('/ | ||
| + | ) AS CheckBonusSum | ||
| + | FROM | ||
| + | [dbo].[check] c | ||
| + | CROSS APPLY | ||
| + | c.xml_native.nodes('/ | ||
| + | ) | ||
| + | SELECT | ||
| + | EmployeeName, | ||
| + | EmployeeCode, | ||
| + | EmployeeRole, | ||
| + | SUM(CheckBonusSum) AS TotalBonus, | ||
| + | COUNT(DISTINCT check_id) AS CheckCount | ||
| + | FROM | ||
| + | EmployeeBonuses | ||
| + | WHERE | ||
| + | CheckBonusSum IS NOT NULL | ||
| + | GROUP BY | ||
| + | EmployeeName, | ||
| + | ORDER BY | ||
| + | TotalBonus DESC; | ||
| + | </ | ||
| + | |||