Похоже, не стоило разделять таблицу...
Поле z должно быть не просто счетчиком, а номером группы. Т.е. поле А апределяет строку записи,а z - номер группы в этой записи. Иначе очень трудно из второй таблицы выделить какая строка какую группу в каждой строчке определяет. При таком раскладе можно будет собрать запрос: в 5 джоинов
select A, B, C, D, E, P1, Q1, R1, S1, T1, P2, Q2, R2, S2, T2, P3, Q3, R3, S3, T3, ... P20, Q20, R20, S20, T20
from tbl1 as t0
inner join (select A, P as P1, Q as Q1, R as R1, S as S1, T as T1 from tbl2 where z = 1) as t1
on t0.A = t1.A
inner join (select A, P as P2, Q as Q2, R as R2, S as S2, T as T2 from tbl2 where z = 2) as t2
on t0.A = t2.A
...
on t0.A = t5.A