a parte che non ho capito che lista vuoi creare, penso che dovresti utilizzare delle semplici JOIN nella query e fare tutto con un while..