[MS SQL] jeżeli duplikaty to większy

[MS SQL] jeżeli duplikaty to większy
PO
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 3 lata
  • Postów:211
0

Cześć

potrzebuję na przykładzie poniższej tabeli

Kopiuj
 Create table test(
	ID int primary key
	, CreateDate datetime2(7)
	, LoadId int
	, Domain nvarchar(max)
	, ParamName nvarchar(max)
	, IntValue int
	, StringValue nvarchar(max)
 );

wybrać wszystkie kolumny, ale w przypadku jeśli istnieją dwa lub więcej wiersze gdzie kolumna Domain i ParamName mają taką samą wartość, wówczas wybieram ten z nowszym CreateDate jeśli zaś również CreateDate dla tych rekordów jest takie samo to wybieram z większą wartoscią LoadID.

Robiłem to na zasadzie grupowania po Domain oraz ParamName i w select użyłem agregacji max() dla CreateDate oraz LoadId, ale problem jest taki że wtedy nie jestem w stanie zwrócić innych kolumn :(. Nie mam na to pomysłu za bardzo.

edytowany 1x, ostatnio: porschelukas
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:12 dni
  • Postów:2792
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:12 dni
  • Postów:2792
1
PO
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 3 lata
  • Postów:211
0

Dziękuję, wygląda na to że działa :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.