Report definitions allow you to join data from different sources as long as you have a field that can be used to conciliate the data retrieval. That is also true for the data flow. For the data flow possibilities, you need to figure out whether you want to merge data or compose it.
Considering this example data model:
ClassA -> P1 (Key), P2
ClassB -> P3 (Key), P1
Merge would result in:
Compose would result:
+ ClassB [page name is e.g.]
In either case, you need a class that represents the external database table, and make sure you have a data set of database type that you can use in the data flow. Let us know which data processing route suits you better, and we can post an example that hopefully will get you started.