Нет, задачи останутся в очереди, даже если вы измените некоторые элементы очереди задач, к которым они принадлежат, и повторно развернете queue.yaml.
Одно использование я столкнулся со много, разделяет записи на несколько записей, главным образом для создания отчетов о целях.
Вообразите строку, где каждый символ представляет некоторое событие в течение соответствующего часа.
ID | Hourly Event Data
1 | -----X-------X-------X--
2 | ---X-----X------X-------
3 | -----X---X--X-----------
4 | ----------------X--X-X--
5 | ---X--------X-------X---
6 | -------X-------X-----X--
Теперь Вы хотите отчет, который показывает, сколько событий произошло в какой день. Перекрестное объединение таблица с таблицей идентификаторов 1 - 24, затем работайте свое волшебство...
SELECT
[hour].id,
SUM(CASE WHEN SUBSTRING([data].string, [hour].id, 1) = 'X' THEN 1 ELSE 0 END)
FROM
[data]
CROSS JOIN
[hours]
GROUP BY
[hours].id
=>
1, 0
2, 0
3, 0
4, 2
5, 0
6, 2
7, 0
8, 1
9, 0
10, 2
11, 0
12, 0
13, 2
14, 1
15, 0
16, 1
17, 2
18, 0
19, 0
20, 1
21, 1
22, 3
23, 0
24, 0
Типичное законное использование перекрестного объединения было бы отчетом что шоу, например, общий объем продаж продуктом и регионом. Если никакие продажи не были сделаны из продукта P в регионе R затем, мы хотим видеть строку с нулем, а не просто не показ строки.
select r.region_name, p.product_name, sum(s.sales_amount)
from regions r
cross join products p
left outer join sales s on s.region_id = r.region_id
and s.product_id = p.product_id
group by r.region_name, p.product_name
order by r.region_name, p.product_name;
Я лично стараюсь избегать декартова произведения в своих запросах. Я предполагаю, имеют набор результатов каждой комбинации Вашего соединения, могло быть полезным, но обычно если я заканчиваю с одним, я знаю, что у меня есть что-то не так.
У меня есть различные отчеты что предварительный фильтр recordset (различными направлениями деятельности в фирме), но были вычисления, которые потребовали процентов дохода, всей фирмы. recordsource должен был содержать твердое общее количество вместо того, чтобы полагаться на вычисление полной суммы в самом отчете.
Пример: recordset имеет балансы для каждого клиента и Направления деятельности, из которого поступает доход клиента. Отчет может только показать 'розничным' клиентам. Нет никакого способа получить сумму балансов для всей фирмы, но отчет показывает процент дохода фирмы.
С тех пор существуют различные поля баланса, я чувствовал, что это было менее сложно, чтобы иметь полное соединение с представлением, которое имеет несколько балансов (я могу также снова использовать это представление твердых общих количеств) вместо составленных запросов sub нескольких полей.
Другой - оператор обновления, где несколько записей должны были быть созданы (одна запись для каждого шага в предварительно установленном процессе рабочего процесса).
Я недавно использовал ПЕРЕКРЕСТНОЕ ОБЪЕДИНЕНИЕ в отчете, что мы используем для продаж forcasting, отчет должен вспыхнуть объем продаж, которые продавец сделал в каждой учетной записи Главной бухгалтерской книги.
Таким образом в отчете я делаю что-то с этой целью:
SELECT gla.AccountN, s.SalespersonN
FROM
GLAccounts gla
CROSS JOIN Salesperson s
WHERE (gla.SalesAnalysis = 1 OR gla.AccountN = 47500)
Это дает мне каждый счет GL на каждого продавца как:
SalesPsn AccountN 1000 40100 1000 40200 1000 40300 1000 48150 1000 49980 1000 49990 1005 40100 1005 40200 1005 40300 1054 48150 1054 49980 1054 49990 1078 40100 1078 40200 1078 40300 1078 48150 1078 49980 1078 49990 1081 40100 1081 40200 1081 40300 1081 48150 1081 49980 1081 49990 1188 40100 1188 40200 1188 40300 1188 48150 1188 49980 1188 49990