PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zusammengesetzter PostgreSQL-Primärschlüssel und serielles Inkrement?

Zeigen Sie die Daten wie von @Juan

vorgeschlagen an
select
    row_number() over (
        partition by modulecode order by modulecode
    ) as sessionid, 
    modulecode
from schedule

Wenn der Benutzer dann nach einer bestimmten Sitzungs-ID von einem bestimmten Modul fragt, tun Sie Folgendes:

select *
from schedule
where sessionid = (
    select sessionid
    from (
        select
            sessionid,
            row_number() over (order by sessionid) as module_sessionid
        from schedule
        where modulecode = 'B'
    ) s
    where module_sessionid = 2
)