Так что мне немного сложно объяснить словами, поэтому я прошу прощения, если Название не имеет большого смысла. Я хочу сделать запрос и получить уникальные комбинации из таблицы с общим значением и добавить к этим значениям добавочный счетчик.
Так что, если бы у меня была такая таблица:
id | name | loc1 | loc2
1 | Fred | USA |
2 | Fred | | Spain
3 | Fred | |
4 | Ryan | Canada| USA
5 | Steph| Spain | Canada
6 | Fred | USA |
Я хотел бы иметь запрос, который приводит к следующему:
name | loc1 | loc2
Fred-1 | USA |
Fred-2 | | Spain
Fred-3 | USA |
Ryan-1 | Canada| USA
Steph-1| Spain | Canada
Я могу получить уникальные значения, которые я хочу с запросом:
select id, name, loc1, loc2 from table1 where loc1 <> '' OR loc2 <> ''
Но добавлениесчетное число поставило меня в тупик. Я полагаю, что если бы я мог как-то использовать ROW_NUMBER () для каждого уникального подзапроса, который может работать, но я не знаю, как управлять этим. Обратите внимание, что на самом деле не имеет значения, в каком порядке они находятся (то есть не имеет значения, какой ряд получает Фреда -1, -2 или -3).
Есть мысли?
Скрипка здесь: http://sqlfiddle.com/#!18/5c079/1