пятница, 10 декабря 2010 г.

Половинка ключа

Есть таблица с составным ключом, надо выбрать данные т.о. чтобы часть полей входящих в ключ были уникальными, а часть любые существующие значения.

Source_table Result
KeyA KeyB ................... KeyA KeyB
100 10 ................... 100 10 - вместо 10, могло быть и 11 и 12
100 11 ................... 200 12
100 12 ................... 300 10
200 13
200 14
200 15
300 10

Решение... ну самое простое, выбрать всё и сделать DELETE ADJACENT DUPLICATES FROM, но когда данных много, как то хотелось бы сократить объемы передаваемых данных.

Выход, был найден (правда не знаю как будет работать на не цифровых ключах)

SELECT KeyA MIN(KeyB)
INTO ...
FROM ...
WHERE ...
GROUP BY KeyA.

Комментариев нет: