Or if not right, maybe right"er"? I have a treeview control that displays up to five levels of data. Right now, I have the top level of things in one table ("jobs"), and the next four levels of things (parts, subparts, sub sub parts, etc.) in another table ("parts"). There is a field in the parts table that links to the jobs table. There is another field in the parts table that holds the PK of the parent for parts that are sub parts (so its a self join). I find it is possible, though not necessarily easy, to load the tree using this structure. I was just wondering if anyone has any better ideas about it, or if there is some standard way of doing it that I don't know about.