class_docstr: Table class for the Google Content API for Shopping Accounts table.
docstr: Lists the sub-accounts in your Merchant Center account.
  
  Args:
      query (ast.Select): SQL query to parse.
  
  Returns:
      Response: Response object containing the results.
docstr_tok: ["Lists","the","sub-accounts","in","your","Merchant","Center","account",".","Args",":","query","(","ast.Select",")",":","SQL","query","to","parse",".","Returns",":","Response",":","Response","object","containing","the","results","."]
code: def select(self, query: ast.Select) -> DataFrame:
      """
      Lists the sub-accounts in your Merchant Center account.
  
      Args:
          query (ast.Select): SQL query to parse.
  
      Returns:
          Response: Response object containing the results.
      """
  
      # Parse the query to get the conditions.
      conditions = extract_comparison_conditions(query.where)
      # Get the start and end times from the conditions.
      params = {}
      accepted_params = ["view", "label", "name"]
      for op, arg1, arg2 in conditions:
          if arg1 == "accountId":
              if op == "=":
                  params[arg1] = arg2
              elif op == ">":
                  params["startId"] = arg2
              elif op == "<":
                  params["endId"] = arg2
              else:
                  raise NotImplementedError
          if arg1 in accepted_params:
              if op != "=":
                  raise NotImplementedError
              params[arg1] = arg2
          else:
              raise NotImplementedError
  
      if query.limit is not None:
          params["maxResults"] = query.limit.value
  
      # Get the accounts from the API.
      accounts = self.handler.call_application_api(
          method_name="get_accounts", params=params
      )
  
      selected_columns = []
      for target in query.targets:
          if isinstance(target, ast.Star):
              selected_columns = self.get_columns()
              break
          elif isinstance(target, ast.Identifier):
              selected_columns.append(target.parts[-1])
          else:
              raise ValueError(f"Unknown query target {type(target)}")
  
      if len(accounts) == 0:
          accounts = pd.DataFrame([], columns=selected_columns)
      else:
          accounts.columns = self.get_columns()
          for col in set(accounts.columns).difference(
              set(selected_columns)
          ):
              accounts = accounts.drop(col, axis=1)
      return accounts
  
imports: import pandas
  from mindsdb_sql.parser import ast
  from pandas import DataFrame
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.utilities.date_utils import parse_utc_date
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
label_desc: Use image node_id 1 for calling the AccountsTable obj's underlying member method code with example usage: obj.select(query) and returns: accounts