SQL Server 2008:
Извините за возможно неинформативное название, но я не совсем уверен, как решить эту проблему. Я уверен, что есть действительно аккуратный (и, вероятно, очевидный!) Способ ее решения, но я просто не могу думать.
Во всяком случае, учитывая ввод ...
ObjectID Field1 Field2 Field3 (actually about 10-12 fields some varchar(max)
1 x y z
2 x y z
3 x y b
4 x q r
Я хочу прикрепить к каждой строке ключ, который указывает, к какой «группе» она принадлежит. то есть вроде как если бы вы сделали "GROUP BY Field1, Field2, Field3". Необходимо получить информацию, эквивалентную этой .... не говоря уже о том, что она должна выглядеть следующим образом, но "GroupID" должен быть GUID, а не целым числом.
GroupID ObjectID
[guid1] 1
[guid1] 2
[guid2] 3
[guid3] 4
(Вероятно) должна быть заданной операцией (ввод может состоять из нескольких тысяч строк), должна быть максимально быстрой, поскольку это также будет происходить довольно часто. Я думал о хэшировании значений столбцов - но есть хотя бы одно поле varchar (max) ... в любом случае, я не знаю, можно ли / как это сделать в SQL! [Не имеет аллергии на курсоры, но беспокоится о скорости - и не имеет хороших инструментов для проведения сравнительных тестов].
Как я уже сказал, когда вы знаете это, то, вероятно, действительно ощущаете душевное равновесие, но я действительно не могу думать, избивал мой мозг в течение добрых нескольких часов в течение нескольких дней.