Personalisar pesquisa na funcao Compare CDBCriteria

Desta forma funciona abaixo funciona eu queria saber se daria para simplificar quando vc usa uam coluna virtual como vc pode ver na linhas comentadas do codigo:




       $criteria=new CDbCriteria;

                

                $criteria->select = "COALESCE(datapagamento, datavencimento) as datap, COALESCE(valorpago, valor) as valorp, L.*";

                 

                $criteria->alias = "L";

                            

		$criteria->compare('COALESCE(datapagamento, datavencimento)','>= 2011-10-01 00:00:00');


              $criteria->compare('datap','>= 2011-10-01 00:00:00'); //Nao funciona retorna erro.

                

                $criteria->compare('COALESCE(datapagamento, datavencimento)','<= 2011-12-01 00:00:00');


                $criteria->compare('datap','<= 2011-12-01 00:00:00'); //Nao funciona retorna erro.

                

                $criteria->compare('conta_idconta',Conta::model()->contasinvestimento());

                

                $criteria->order = "datap ASC"; 



exemplo:

datap = 2011-10-01 ate 2011-10-30

Uma relaƧao de ids

contas = IN(1,5,10,20)

Valew.