<div dir="ltr">Мой вопрос решился немного проще, с использованием 'QUOTEVALUE' => 1 в запросе. Так вместо значения я смог подставить имя второй колонки для сравнения.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-02-22 3:32 GMT+03:00 Nikolay Mishin <span dir="ltr"><<a href="mailto:mi@ya.ru" target="_blank">mi@ya.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Я бы дописал этот оператор в модуле:<br>
<a href="https://metacpan.org/source/ALEXMV/DBIx-SearchBuilder-1.66/lib/DBIx/SearchBuilder.pm" target="_blank">https://metacpan.org/source/ALEXMV/DBIx-SearchBuilder-1.66/lib/DBIx/SearchBuilder.pm</a><br>
<br>
    if ( $args{'OPERATOR'} ) {<br>
        #If it's a like, we supply the %s around the search term<br>
        if ( $args{'OPERATOR'} =~ /LIKE/i ) {<br>
            $args{'VALUE'} = "%" . $args{'VALUE'} . "%";<br>
        }<br>
        elsif ( $args{'OPERATOR'} =~ /STARTSWITH/i ) {<br>
            $args{'VALUE'}    = $args{'VALUE'} . "%";<br>
        }<br>
        elsif ( $args{'OPERATOR'} =~ /ENDSWITH/i ) {<br>
            $args{'VALUE'}    = "%" . $args{'VALUE'};<br>
        }<br>
        elsif ( $args{'OPERATOR'} =~ /\bIN$/i ) {<br>
            if ( blessed $args{'VALUE'} && $args{'VALUE'}->isa(__PACKAGE__) ) {<br>
                # if no columns selected then select id<br>
                local $args{'VALUE'}{'columns'} = $args{'VALUE'}{'columns'};<br>
                unless ( $args{'VALUE'}{'columns'} ) {<br>
                    $args{'VALUE'}->Column( FIELD => 'id' );<br>
                } elsif ( @{ $args{'VALUE'}{'columns'} } > 1 ) {<br>
                    warn "Collection in '$args{OPERATOR}' with more than one column selected, using first";<br>
                    splice @{ $args{'VALUE'}{'columns'} }, 1;<br>
                }<br>
                $args{'VALUE'} = '('. $args{'VALUE'}->BuildSelectQuery .')';<br>
                $args{'QUOTEVALUE'} = 0;<br>
            }<br>
            elsif ( ref $args{'VALUE'} ) {<br>
                if ( $args{'QUOTEVALUE'} ) {<br>
                    my $dbh = $self->_Handle->dbh;<br>
                    $args{'VALUE'} = join ', ', map $dbh->quote( $_ ), @{ $args{'VALUE'} };<br>
                } else {<br>
                    $args{'VALUE'} = join ', ', @{ $args{'VALUE'} };<br>
                }<br>
                $args{'VALUE'} = "($args{VALUE})";<br>
                $args{'QUOTEVALUE'} = 0;<br>
            }<br>
            else {<br>
                # otherwise behave in backwards compatible way<br>
            }<br>
        }<br>
        $args{'OPERATOR'} =~ s/(?:MATCHES|ENDSWITH|STARTSWITH)/LIKE/i;<br>
<br>
        if ( $args{'OPERATOR'} =~ /IS/i ) {<br>
            $args{'VALUE'} = 'NULL';<br>
            $args{'QUOTEVALUE'} = 0;<br>
        }<br>
    }<br>
Добавить  a > b<br>
<br>
18.02.2015, 18:18, "Алексей Мышкин" <<a href="mailto:parserpro@gmail.com">parserpro@gmail.com</a>>:<br>
<div><div class="h5">> Привет всем!<br>
><br>
> Возник довольно срочный вопрос - как в DBIx::SearchBuilder сделать такое (если хоть кто-то в курсе):<br>
><br>
> SELECT a, b<br>
> FROM t<br>
> WHERE a > b<br>
><br>
> Используется этот модуль в Request Tracker'e<br>
><br>
> --<br>
> С уважением,<br>
> Мышкин Алексей.<br>
><br>
</div></div>> ,<br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
С уважением<br>
Николай Мишин<br>
<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">С уважением,<br>Мышкин Алексей.</div>
</div>