仮定 (高度に匿名化):
Create Table myTable
(
ID INT PK,
INDEXNUMBER INT,
VERSION INT,
Data VARCHAR(MAX)
)
このテーブルは、相互に排他的なデータを格納するために使用されます。例えば:
100 1 1 BOB
217 1 2 JOHN
319 1 3 GEORGE
420 7 1 MARY
415 7 2 SUSAN
この場合、BOB、JOHN、または GEORGE のいずれかと、MARY または SUSAN のいずれかをランダムに選択する必要があります。
INDEXNUMBER/VERSIONIDでもペアでもどちらでもいいです。
考えてみると、名簿を含むテーブルからホッケー チームの 1 つのシフトを選ぶようなものです。
利用可能な 3 つから 1 つのセンターを選択し、利用可能な 5 つから 1 つの左ウィングを選択するなど。
NEWID()and MAX/MIN(Cast NEWIDto first)で遊んでいますがvarchar、 にハングアップし続けていGROUP BYます。IGROUP BY IDの場合、 max は一度に 1 つの行で動作し、テーブル全体を生成します。
GROUP BY INDEXNUMBER, VERSION同様の結果が得られた場合(ペアは一意です)。
私がする必要があるのは、 GROUP BY INDEXNUMBER(クエリから完全に除外IDして)まだ何らかの形でVERSION.