The reason it's taking so long is that you have linked a command to tables. This means that Crystal will have to pull all of the data into memory and do the joins there instead of pushing them down to the database where they're processed more efficiently. I would create a single command that includes ALL of the columns you need for your report. For more info on working with commands, see my blog post here: Best Practices When Using Commands with Crystal Reports
-Dell