|
Помогите въехать в запрос, не 1С, SQL | ☑ | ||
---|---|---|---|---|
0
Kongo2019
16.09.22
✎
15:47
|
Запрос
INSERT INTO [BP].[dbo].[rpt_SKU_Rate] --SELECT * FROM [worknp].[dbo].[BP_SKU_Rate] SELECT S.RegionID, --S.[Month], S.TypeTRT, S.Brand, S.ProdId, cast(S.Qty as float)/cast(SA.Qty as float) [Rate] FROM #SLS S JOIN --Общие продажи по бренду в регионе ( SELECT RegionID, Brand, sum(Qty) [Qty] FROM #SLS GROUP BY RegionID, Brand HAVING sum(Qty) > 0 ) SA ON SA.RegionID = S.RegionID and SA.Brand = S.Brand ORDER BY 2,3 Если я правильно понял cast(S.Qty as float)/cast(SA.Qty as float) где cast(SA.Qty as float) всего продажи по бренду в регионе а S.Qty as float всего продажи в регионе То бишь собираются продажи по региону в таблицу #SLS и делят на общую суму продаж в регионе. |
|||
1
VladZ
16.09.22
✎
15:57
|
S.Qty и SA.Qty - ты за буквы деньги платишь? Со второго раза только увидел, что это разные вещи.
|
|||
2
Конструктор1С
16.09.22
✎
16:01
|
(1) Г1С такие псевдонимы одобряэ
|
|||
3
Конструктор1С
16.09.22
✎
16:14
|
Наглядный пример, как экономия на именах приводит к вызову пояснительной бригады и помощи зала
|
|||
4
Kongo2019
16.09.22
✎
16:23
|
(1) Это не я, это в наследство досталось
|
|||
5
АНДР
16.09.22
✎
17:12
|
(0) S.Qty - продажи конкретного товара (ProdId) в разрезе производителя (Brand) и региона (RegionID).
Запрос даёт (процентное, если домножить на 100) распределение проданных товаров внутри производителя в разрезе регионов. |
|||
6
Курцвейл
16.09.22
✎
18:13
|
Запрос лучше еще раз поместить во временную таблицу. Если использовать временные таблицы, так по полной :)
|
|||
7
Курцвейл
16.09.22
✎
18:14
|
(6) Точнее речь о подзапросе который именован SA
|
|||
8
Said_We
16.09.22
✎
18:40
|
(0) Так в чем вопрос-то?
"помогите въехать..." - что нужно сделать и что не понятно. Ну и встречный вопрос: Что за версия SQL? Если какая-то свежая, то зачем тут джоин? |
|||
9
Said_We
16.09.22
✎
18:43
|
(0) "а S.Qty as float всего продажи в регионе" - нет. Это какая-то запись при этом в разрезе бренда тоже.
Запрос должен показать долю продаж конкретной записи к общему числу продаж по Региону + Бренд. |
|||
10
Said_We
16.09.22
✎
18:45
|
(0) "INSERT INTO" не только показать, но и ...
|
|||
11
Said_We
16.09.22
✎
18:47
|
HAVING sum(Qty) > 0 не понятно зачем, если на это потом ещё тут и делят.
cast(S.Qty as float)/cast(SA.Qty as float) Если ноль, то по связи будет NULL. На что делить будем. |
|||
12
Said_We
16.09.22
✎
19:48
|
К (11)
SELECT CAST(NULL as float) вернёт NULL. SELECT 3.14 / CAST(NULL as float) тоже вернёт NULL |
|||
13
АНДР
17.09.22
✎
10:31
|
(11) Если по в регионе не было продаж данного бренда, то JOIN отсечет этот разрез из результата.
|
|||
14
TormozIT
гуру
17.09.22
✎
12:41
|
Как (0) связан с 1С?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |