First option - case table will hold properties, pxCreateOperator, pyWorkStatus, pzInsKey, pyID --- all in one table, no need to join.
Second option - all in one table, no need to join. pyPerformActionTime and Performer information is in the same table.
Third option - (correct option) - If you want to display the name of parent case pyLabel, and the pyWorkStatus of the parent case as part of the report so that it's more than just the ID... you would need to join to the table that holds that case info. In many situations this might be a join on the same table by joining pzInsKey with pxCoverInsKey. The instance key is the column we join on, the instance key is not visually appealing or informative to business users. So you will use it to join but display different fields from the parent case and subcases.
Fourth option - all in one table. The assignment workbasket table has that information.