|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
ВОТ РАБОЧИЙ СКРИПТ ; WITH CTE1 AS ( SELECT *,(([Количество (в базовых ед#)]/[Кол-во])*100) AS Dolya, ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ]) AS cm, floor(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина]) AS Face, floor(([ГЛ#ПОЛКИ]/[глубина ])*(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина])) AS QuantFace, floor([ГЛ#ПОЛКИ]/[глубина ]) AS GlubinaFace, ([ДЛ#ПОЛКИ]*[ГЛ#ПОЛКИ]) AS [Площадъ полки,cm2], floor([Длина]*[глубина ]) AS [Площадь товара, см2], (([Количество (в базовых ед#)] / sum([Количество (в базовых ед#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара ед., %], (([Сумма (упр#)] / sum([Сумма (упр#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара тг., %] FROM [dbo].[БД$] ),CTE2 AS ( SELECT *, (([Доля товара ед., %] + [Доля товара тг., %]) / 2 + IIF([Доля товара ед., %] > [Доля товара тг., %], [Доля товара тг., %], [Доля товара ед., %])) / 2 AS [Ср.доли, %] FROM CTE1 ) ( SELECT *, [Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]) as [Доля на полке, %] , (([Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]))*([ДЛ#ПОЛКИ])) as [Кол-во фэйсов на полке, см], ceiling((([Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]))*([ДЛ#ПОЛКИ]))/[Длина]) as [Кол-во фэйсов на полке, ед] FROM CTE2 ) ), CTE3 AS НЕ МОГУ ОБРАТИТЬСЯ НА CTE3, ЧТО ДЕЛАТЬ ? ПОМОГИТЕ ПОЖАЛУЙСТА ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 08:13 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
Adlet ВОТ РАБОЧИЙ СКРИПТ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 08:19 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
use PLANOGRAMM SELECT *,(([Количество (в базовых ед#)]/[Кол-во])*100) AS Dolya, ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ]) AS cm, floor(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина]) AS Face, floor(([ГЛ#ПОЛКИ]/[глубина ])*(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина])) AS QuantFace, floor([ГЛ#ПОЛКИ]/[глубина ]) AS GlubinaFace, ([ДЛ#ПОЛКИ]*[ГЛ#ПОЛКИ]) AS [Площадъ полки,cm2], floor([Длина]*[глубина ]) AS [Площадь товара, см2], (([Количество (в базовых ед#)] / sum([Количество (в базовых ед#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара ед., %], (([Сумма (упр#)] / sum([Сумма (упр#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара тг., %] FROM [dbo].[БД$] WHERE [Длина] IS NOT NULL ; WITH CTE1 AS( SELECT *,(([Количество (в базовых ед#)]/[Кол-во])*100) AS Dolya, ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ]) AS cm, floor(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина]) AS Face, floor(([ГЛ#ПОЛКИ]/[глубина ])*(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина])) AS QuantFace, floor([ГЛ#ПОЛКИ]/[глубина ]) AS GlubinaFace, ([ДЛ#ПОЛКИ]*[ГЛ#ПОЛКИ]) AS [Площадъ полки,cm2], floor([Длина]*[глубина ]) AS [Площадь товара, см2], (([Количество (в базовых ед#)] / sum([Количество (в базовых ед#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара ед., %], (([Сумма (упр#)] / sum([Сумма (упр#)]) over(partition by [АДРЕС ]))*100) AS [Доля товара тг., %] FROM [dbo].[БД$] ),CTE2 AS ( SELECT *, (([Доля товара ед., %] + [Доля товара тг., %]) / 2 + IIF([Доля товара ед., %] > [Доля товара тг., %], [Доля товара тг., %], [Доля товара ед., %])) / 2 AS [Ср.доли, %] FROM CTE1 ) ( SELECT *, [Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]) as [Доля на полке, %] , (([Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]))*([ДЛ#ПОЛКИ])) as [Кол-во фэйсов на полке, см], ceiling((([Ср.доли, %] / sum([Ср.доли, %]) over(partition by [АДРЕС ]))*([ДЛ#ПОЛКИ]))/[Длина]) as [Кол-во фэйсов на полке, ед] FROM CTE2 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 09:38 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
Adlet, Где-то кто-то уже использовал этот код ))) Не вдаваясь в синтаксис: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
И заведите правило - писать с отступами, чтобы было легко читать код. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 10:09 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
Oleg_SQL И заведите правило - писать с отступами, чтобы было легко читать код. поддерживаю из уважения к участникам форума стоит хотя бы прогонять код через любой форматтер - например, через http://poorsql.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 10:18 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
Oleg_SQL Где-то кто-то уже использовал этот код ))) судя по "[Количество (в базовых ед#)]", - Ablaykhan -а уволили ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 11:00 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
court, Если бы 😂 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 11:11 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
court, Здравствуйте, Олег это колега Абылайхана :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 11:17 |
|
Не могу обратиться на CTE3
|
|||
---|---|---|---|
#18+
Adlet, коллега* ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 11:31 |
|
|
start [/forum/topic.php?fid=46&msg=40095897&tid=1684327]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
124ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 249ms |
total: | 459ms |
0 / 0 |