code: def select_where(self, table, cols, pk_att, pk):
          '''
          SELECT with WHERE clause.
  
              :param table: target table
              :param cols: list of columns to select
              :param pk_att: attribute for the where clause
              :param pk: the id that the pk_att should match
              :return: rows from the given table and cols, with the condition pk_att==pk
              :rtype: list
          '''
          if self.orng_tables:
              data = []
              for ex in self.orng_tables[table]:
                  if str(ex[str(pk_att)]) == str(pk):
                      data.append([ex[str(col)] for col in cols])
              return data
          else:
              return self.src.select_where(table, cols, pk_att, pkf select_where(self, table, cols, pk_att, pk):
          '''
          SELECT with WHERE clause.
  
              :param table: target table
              :param cols: list of columns to select
              :param pk_att: attribute for the where clause
              :param pk: the id that the pk_att should match
              :return: rows from the given table and cols, with the condition pk_att==pk
              :rtype: list
          '''
          if self.orng_tables:
              data = []
              for ex in self.orng_tables[table]:
                  if str(ex[str(pk_att)]) == str(pk):
                      data.append([ex[str(col)] for col in cols])
              return data
          else:
              return self.src.select_where(table, cols, pk_att, pk)
docs: SELECT with WHERE clause.
  
              :param table: target table
              :param cols: list of columns to select
              :param pk_att: attribute for the where clause
              :param pk: the id that the pk_att should match
              :return: rows from the given table and cols, with the condition pk_att==pk
              :rtype: list