Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос с исключением дупликатов по условиям  [new]
Skey
Guest
Уважаемые Гуру, помогите создать запрос:

Нужно сделать выборку из приведенной ниже таблицы, чтобы остались уникальные записи по Material, Res_Item
с последней датой изменения (ChangeDat) и времени (ChangeTim). т.е записи помеченные как "< удалить " должны исключится.



MaterialMaterialDescriptionRes_ItemChangeDatChangeTimNameTotalStockQty
9900009650FAN BELTS FENNER XPZ17501212441/10632009-07-3005:29:42RUIMAA8
9900009651FAN BELTS FENNER 1850 SPA1212441/10642009-07-3005:29:42RUIMAA4
9900009652FAN BELTS FENNER 1700 SPZ1212441/10652009-07-3005:29:42RUIMAA4
9900009653FUSE LINKS 6 Amps SILVERTECH 4314000001212441/10662009-08-0303:46:07RUIMAA2
9900009653FUSE LINKS 6 Amps SILVERTECH 4314000001212441/10662009-07-3005:29:42RUIMAA2< удалить
9900009654FUSE LINKS 4 Amps SILVERTECH 4312000001212441/10672009-08-0303:46:07RUIMAA2
9900009654FUSE LINKS 4 Amps SILVERTECH 4312000001212441/10672009-07-3005:29:42RUIMAA2< удалить
9900009655FUSE LINKS 2 Amps SILVERTECH 4309000001212441/10682009-08-0303:46:07RUIMAA2
9900009655FUSE LINKS 2 Amps SILVERTECH 4309000001212441/10682009-07-3005:29:42RUIMAA2< удалить
9900009656FUSE LINKS 1 Amps SILVERTECH 4307000001212441/10692009-08-0303:46:07RUIMAA2
9900009656FUSE LINKS 1 Amps SILVERTECH 4307000001212441/10692009-07-3005:29:42RUIMAA2< удалить
9900009657FUSE LINKS 500mA SILVERTECH 4306000001212441/10702009-08-0303:46:07RUIMAA2
9900009657FUSE LINKS 500mA SILVERTECH 4306000001212441/10702009-07-3005:29:42RUIMAA2< удалить
9900009658RELAY POTTER BRUMFIELD KHS-17D11-241212441/10712009-07-3023:12:09RUIMAA10
9900009658RELAY POTTER BRUMFIELD KHS-17D11-241212441/10712009-07-3005:29:42RUIMAA10< удалить
3 апр 12, 07:46    [12354691]     Ответить | Цитировать Сообщить модератору
 Re: Запрос с исключением дупликатов по условиям  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
with cte
as
(
select row_number() over ( partition by Material, Res_Item order by ChangeDat, ChangeTim) id, * from MyTable
)
delete from cte where id > 1
3 апр 12, 08:04    [12354705]     Ответить | Цитировать Сообщить модератору
 Re: Запрос с исключением дупликатов по условиям  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
DESC(!!!)

Knyazev Alexey
with cte
as
(
select row_number() over ( partition by Material, Res_Item 
order by ChangeDat desc, ChangeTim desc
) id, * from MyTable
)
delete from cte where id > 1
3 апр 12, 08:05    [12354707]     Ответить | Цитировать Сообщить модератору
 Re: Запрос с исключением дупликатов по условиям  [new]
Skey
Guest
Спасибо,

cte это временная таблица? Ее поля нужно вначале описывать?
3 апр 12, 09:30    [12354971]     Ответить | Цитировать Сообщить модератору
 Re: Запрос с исключением дупликатов по условиям  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Skey
cte это временная таблица?

cte - Common Table Expressions, подробности в БОЛ
3 апр 12, 09:34    [12354987]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить