Para cada linha do lado direito em um JOIN, gostaria de criar um número sequencial, começando em 1 (ou 0) para cada linha do lado esquerdo.
Exemplo:
create table persons (person_id int, person_name text);
create table places (place_id int, person_id int, place_name text);
insert into persons values (10, 'Aulus Agerius'), (20, 'Numerius Negidius');
insert into places values (10, 10, 'Anytown'), (20, 10, 'Timbuktu'), (30, 20, 'Podunk');
select person_name, place_name
from persons join places using (person_id)
order by person_id, place_id;
Resultado desejado:
nome_pessoa | coloque o nome | place_seq |
---|---|---|
Aulo Agerio | Qualquer cidade | 1 |
Aulo Agerio | Timbuctu | 2 |
Numerius Negidius | Podunk | 1 |
Então, por exemplo, um 2 in place_seq
significaria "este é o 2º lugar encontrado para esta pessoa".
Como criar a place_seq
coluna?