/**
  * 选择合适的游戏类型
  * 
  * @param Zend_Db_Select $select
  * @param boolean $group
  * @return Zend_Db_Select
  */
 protected function _selectGameTypes(Zend_Db_Select $select, $group = false)
 {
     $tableName = $this->_tableDAO->info('name');
     $column = (strstr($tableName, '_', true) ?: $tableName) . '_gametype';
     if (is_array(self::$_allowedGameTypes) && is_array($this->_gameTypes)) {
         $gameTypes = array_intersect($this->_gameTypes, self::$_allowedGameTypes);
     } else {
         if (is_array(self::$_allowedGameTypes)) {
             $gameTypes = self::$_allowedGameTypes;
         } else {
             if (is_array($this->_gameTypes)) {
                 $gameTypes = $this->_gameTypes;
             }
         }
     }
     if (isset($gameTypes) && !empty($gameTypes)) {
         count($gameTypes) === 1 ? $select->where("{$column} = ?", $gameTypes) : $select->where("{$column} IN (?)", $gameTypes);
     }
     if (true === $group) {
         if (!in_array(ZtChart_Model_Assemble::GAMETYPE, $this->_merge)) {
             array_unshift($this->_merge, ZtChart_Model_Assemble::GAMETYPE);
         }
         $select->columns("{$column} AS " . ZtChart_Model_Assemble::GAMETYPE)->group(ZtChart_Model_Assemble::GAMETYPE);
     }
     return $select;
 }