/**
  * {@inheritdoc}
  */
 public function getSelectConditionStatementSQL($field, $value, $assoc = null, $comparison = null)
 {
     $selectedColumns = array();
     $columns = $this->getSelectConditionStatementColumnSQL($field, $assoc);
     if (count($columns) > 1 && $comparison === Comparison::IN) {
         /*
          *  @todo try to support multi-column IN expressions.
          *  Example: (col1, col2) IN (('val1A', 'val2A'), ('val1B', 'val2B'))
          */
         throw ORMException::cantUseInOperatorOnCompositeKeys();
     }
     foreach ($columns as $column) {
         $placeholder = '?';
         if (isset($this->class->fieldMappings[$field]['requireSQLConversion'])) {
             $placeholder = Type::getType($this->class->getTypeOfField($field))->convertToDatabaseValueSQL($placeholder, $this->platform);
         }
         if (null !== $comparison) {
             // special case null value handling
             if (($comparison === Comparison::EQ || $comparison === Comparison::IS) && null === $value) {
                 $selectedColumns[] = $column . ' IS NULL';
                 continue;
             }
             if ($comparison === Comparison::NEQ && null === $value) {
                 $selectedColumns[] = $column . ' IS NOT NULL';
                 continue;
             }
             $selectedColumns[] = $column . ' ' . sprintf(self::$comparisonMap[$comparison], $placeholder);
             continue;
         }
         if (is_array($value)) {
             $in = sprintf('%s IN (%s)', $column, $placeholder);
             if (false !== array_search(null, $value, true)) {
                 $selectedColumns[] = sprintf('(%s OR %s IS NULL)', $in, $column);
                 continue;
             }
             $selectedColumns[] = $in;
             continue;
         }
         if (null === $value) {
             $selectedColumns[] = sprintf('%s IS NULL', $column);
             continue;
         }
         $selectedColumns[] = sprintf('%s = %s', $column, $placeholder);
     }
     return implode(' AND ', $selectedColumns);
 }