Имам таблица в SQL Server 2000 с данни, подобни на следните:
ReferenceNumber ReferenceValue
00001 Not assigned
00002 Not assigned
00002 ABCDE
в която всеки ReferenceNumber може да се появи няколко пъти в таблицата, или с ReferenceValue на „Не е присвоено“, или с истинска ReferenceValue.
Искам да изхвърля данните в изчистена таблица само с един ред на ReferenceNumber и истинска ReferenceValue, ако съществува, или „Не е присвоено“, ако няма истински ReferenceValue.
Виждам как да го направя с две заявки:
SELECT TOP 1 ReferenceNumber, ReferenceValue
INTO clean
FROM duplicates
WHERE ReferenceValue <> 'Not assigned'
INSERT INTO clean(ReferenceNumber, ReferenceValue)
SELECT TOP 1 ReferenceNumber, ReferenceValue
WHERE ReferenceValue = 'Not assigned'
AND ReferenceNumber NOT IN (SELECT ReferenceNumber FROM clean)
но мисля, че трябва да има по-добър начин. Някакви идеи?