I&#039m trying to create an ASP page to display a pedigree. As it stands right now I have an Access database with fields INDEX_NUM, DOG_NAME, SIRE_INDEX, DAM_INDEX (there are others but these are the ones I&#039m having problems with now.) The pedigree is pulled out based on a name search and built locating the names of each parent for 3 generations. The problem I&#039m having is that the SQL that I&#039ve come up with 1) looks like heck 2) takes forever to run and 3) is creating a huge memory drain on the server. The SQL is below. Any sugestions on how I can clean this up? (As it stands putting titles on the dogs is out of the question.)<BR><BR>SELECT Pedigree.INDEX_NUM, Pedigree.DOG_NAME AS BASE, Pedigree_1.DOG_NAME AS GEN1x1, Pedigree_2.DOG_NAME AS GEN1x2, Pedigree_3.DOG_NAME AS GEN2x1, Pedigree_4.DOG_NAME AS GEN2X2, Pedigree_5.DOG_NAME AS GEN2x3, Pedigree_6.DOG_NAME AS GEN2X4, Pedigree_7.DOG_NAME AS GEN3X1, Pedigree_8.DOG_NAME AS GEN3X2, Pedigree_9.DOG_NAME AS GEN3X3, Pedigree_10.DOG_NAME AS GEN3X4, Pedigree_11.DOG_NAME AS GEN3X5, Pedigree_12.DOG_NAME AS GEN3X6, Pedigree_13.DOG_NAME AS GEN3X7, Pedigree_14.DOG_NAME AS GEN3X8<BR>FROM (((((((((((((Pedigree INNER JOIN Pedigree AS Pedigree_1 ON Pedigree.SIRE_INDEX = Pedigree_1.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_2 ON Pedigree.DAM_INDEX = Pedigree_2.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_3 ON Pedigree_1.SIRE_INDEX = Pedigree_3.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_4 ON Pedigree_1.DAM_INDEX = Pedigree_4.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_5 ON Pedigree_2.SIRE_INDEX = Pedigree_5.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_6 ON Pedigree_2.DAM_INDEX = Pedigree_6.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_7 ON Pedigree_3.SIRE_INDEX = Pedigree_7.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_8 ON Pedigree_3.DAM_INDEX = Pedigree_8.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_9 ON Pedigree_4.SIRE_INDEX = Pedigree_9.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_10 ON Pedigree_4.DAM_INDEX = Pedigree_10.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_11 ON Pedigree_5.SIRE_INDEX = Pedigree_11.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_12 ON Pedigree_5.DAM_INDEX = Pedigree_12.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_13 ON Pedigree_6.SIRE_INDEX = Pedigree_13.INDEX_NUM) INNER JOIN Pedigree AS Pedigree_14 ON Pedigree_6.DAM_INDEX = Pedigree_14.INDEX_NUM<BR>ORDER BY Pedigree.DOG_NAME;