powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / row_number() недоступен. Возможно ли заменить?
5 сообщений из 5, страница 1 из 1
row_number() недоступен. Возможно ли заменить?
    #39616055
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такой код. Что мечтается - имеем прайслист, где указаны цены на товары (SKU) по датам.
необходимо исключить все последовательно (по датам) одинаковые по ценам позиции
Это работает. Но нужно без row_number() решить, ибо 1С
Возможно ли?

Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
;with cte (sku,[date],price) as (
select 1,'20180101',2
union all
select 1,'20180102',2
union all 
select 1,'20180103',2
union all 
select 1,'20180104',3
union all
select 1,'20180105',3
union all
select 1,'20180106',2
union all
---
select 2,'20180101',2
union all
select 2,'20180102',2
union all 
select 2,'20180103',2
union all 
select 2,'20180104',3
union all
select 2,'20180105',3
union all
select 2,'20180106',2
union all
select 2,'20170104',2 -- especial

)
, tot (rn,date,price,sku) as
(select ROW_NUMBER() over(order by sku,date) rn -- root of evil :)
		,date
		,price
		,sku
from cte)
select t1.sku
		,t1.date	
		,t1.price
		
from tot t1 
left join tot t2 
on t2.rn=t1.rn-1 
	and t1.price=t2.price 
	and t1.sku=t2.sku
where t2.rn is null


...
Рейтинг: 0 / 0
row_number() недоступен. Возможно ли заменить?
    #39616057
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FAQ форума
...
Рейтинг: 0 / 0
row_number() недоступен. Возможно ли заменить?
    #39616066
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxx,
возможно, неверно объяснил (или не понял, в где годный FAQ по этому вопросу)
вот такой результат дает скрипт. но с row_number()
sku date price
1 20180101 2
1 20180104 3
1 20180106 2
2 20170104 2
2 20180104 3
2 20180106 2

а мечтается без
...
Рейтинг: 0 / 0
row_number() недоступен. Возможно ли заменить?
    #39616069
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
row_number() недоступен. Возможно ли заменить?
    #39616597
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,

Для того чтобы определить предыдущее значение прайс-листа и сравнить его с текущим не обязательно нумеровать строки. Можно и вложенным запросом.

Код: sql
1.
2.
3.
select t1.*
from cte t1 
where isnull((Select top 1 t2.price From cte t2 WHere t1.sku = t2.sku and t1.date>t2.date Order by t2.date desc),-1) <> t1.price
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / row_number() недоступен. Возможно ли заменить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]