Sulla base del tuo commento che page1, page2.. sono colonne di chiavi esterne, penso che sia semplice.
Qualcosa come:
SELECT
s.unique_id, s.counter, s.sequence_length, s.yearmonth,
s.mod_date_stamp,
pg1.page_url as page1, pg2.page_url as page2,
pg3.page_url as page3, pg4.page_url as page4,
pg5.page_url as page5
FROM
session s
LEFT JOIN
sessionpage pg1 ON pg1.unique_id = s.page1
LEFT JOIN
sessionpage pg2 ON pg2.unique_id = s.page2
LEFT JOIN
sessionpage pg3 ON pg3.unique_id = s.page3
LEFT JOIN
sessionpage pg4 ON pg4.unique_id = s.page4
LEFT JOIN
sessionpage pg5 ON pg5.unique_id = s.page5
Penso che questo funzionerà.
Ma quando non c'è alcun valore sulla colonna (sulla sessione della tabella), dovresti usare null invece di 0 (zero).
Un altro suggerimento, sull'istruzione SELECT, se non vuoi valori NULL puoi usare:
COALESCE(pg5.page_url, ' ') as page5