Builds a list of the field names for all tables and joined tables by calling
        ``get_field_names()`` on each table

        :return: list of field names
        :rtype: list of str

def get_field_names(self):
        """
        Builds a list of the field names for all tables and joined tables by calling
        ``get_field_names()`` on each table

        :return: list of field names
        :rtype: list of str
        """
        field_names = []
        for table in self.tables:
            field_names.extend(table.get_field_names())
        for join_item in self.joins:
            field_names.extend(join_item.right_table.get_field_names())
        return field_names