Селект distinct с выводом дополнительных полей.

volkandrey
Дата: 10.06.2011 12:06:52
Необходимо сделать селект уникальных значений по одному полю
select distinct(MaterialText) from UniformIsu

Но чтоб при селекте высвечивались дополнительные поля, а distinct фильтровал значения одного поля
Чтото вроде такого запроса, но чтоб он отрабатывал как предыдущий. По просту прицепить ещё два поля с теми значениями которые есть...

select MaterialR3, Party, distinct(MaterialText) from UniformIsu
Гавриленко Сергей Алексеевич
Дата: 10.06.2011 12:13:13
select distinct MaterialR3, Party, MaterialText from UniformIsu
Guf
Дата: 10.06.2011 12:14:48
volkandrey,

ФамилияИмя
ИвановПетя
ИвановВася

Что должен вернуть запрос?
SELECT DISTINCT([Фамилия]), [Имя] FROM [Таблица]
SomewhereSomehow
Дата: 10.06.2011 12:17:35
volkandrey,

хм, а если будет запись
MaterialText MaterialR3 Party
111
122

какую брать, первую или вторую? сначала определитесь с критерием по которому выбирать, потом можно использовать select top 1 with ties ... order by row_number() если версия сервера позволяет...
Ivan Durak
Дата: 10.06.2011 12:20:47
Group by + max, min и т.п.
volkandrey
Дата: 10.06.2011 12:49:42
Guf
volkandrey,

ФамилияИмя
ИвановПетя
ИвановВася

Что должен вернуть запрос?
SELECT DISTINCT([Фамилия]), [Имя] FROM [Таблица]


В моём случае без разницы, любое из значений.
Guf
Дата: 10.06.2011 13:11:51
volkandrey,

Тогда вам поможет совет SomewhereSomehow 10794986
volkandrey
Дата: 10.06.2011 14:26:26
А по подробнее можно, по поводу select top 1 with ties ... order by row_number(). Сервер MSSQL 2008.
SomewhereSomehow
Дата: 10.06.2011 14:31:45
volkandrey,

declare @UniformIsu table (MaterialR3 int, Party int, MaterialText int)
insert into @UniformIsu values (1,1,1), (1,2,2), (2,3,3),(2,4,4)

select top 1 with ties
	MaterialR3, 
	Party, 
	MaterialText 
from 
	@UniformIsu
order by
	row_number() over (partition by MaterialR3 order by Party)
iap
Дата: 10.06.2011 14:33:38
volkandrey
А по подробнее можно, по поводу select top 1 with ties ... order by row_number(). Сервер MSSQL 2008.
Пронумеруйте строки для каждого значения MaterialText.
Возьмите только строки с номером 1