<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _evaluate_sql_query_subprocess(self, predicted_query: str, sql_query_labels: List[str]) -> int: """ We evaluate here whether the predicted query and the query label evaluate to the exact same table. This method is only called by the subprocess, so we just exit with 1 if it is correct and 0 otherwise. """


        postprocessed_predicted_query = self.postprocess_query_sqlite(predicted_query)

        try:
            self._cursor.execute(postprocessed_predicted_query)
            predicted_rows = self._cursor.fetchall()
        except sqlite3.Error as error:
            logger.warning(f'Error executing predicted: {error}')
            exit(0)

        # If predicted table matches any of the reference tables then it is counted as correct.
        target_rows = None
        for sql_query_label in sql_query_labels:
            postprocessed_sql_query_label = self.postprocess_query_sqlite(sql_query_label)
            try:
                self._cursor.execute(postprocessed_sql_query_label)
                target_rows = self._cursor.fetchall()
            except sqlite3.Error as error:
                logger.warning(f'Error executing predicted: {error}')
            if predicted_rows == target_rows:
                exit(1)
        exit(0)