$c->stash->{routes} = [$c->model('QDB::Route')->search( { 'me.net_id' => $c->stash->{net_id}, -and => [ 'me.route_beg' => 'nodes.node_id', 'me.net_id' => 'nodes.net_id', 'me.route_end' => 'nodes_2.node_id', 'me.net_id' => 'nodes_2.net_id' ], }, { join => ['nodes', 'nodes'], 'select' => [ 'me.route_beg', 'me.route_end', \'nodes.node_name AS node_name_beg', \'nodes_2.node_name AS node_name_end', \'COUNT(me.route_beg) as grp_count', ], 'as' => [ qw/ route_beg route_end node_name_beg node_name_end route_grp_count / ], 'group_by' => [qw/ me.route_beg me.route_end nodes.node_name nodes_2.node_name /], 'order_by' => [ qw/ node_name_beg/ ], page => $page, # page to return (defaults to 1)use Data::Dumper; die "SEARCH" . Dumper($new_attrs); rows => $rows, # number of results per page }, )]; #### SELECT * FROM ( SELECT TOP 10 * FROM ( SELECT TOP 10 me.route_beg, me.route_end, nodes.node_name AS node_name_beg, nodes_2.node_name AS node_name_end, COUNT(me.route_beg) as grp_count FROM vi_route me JOIN vi_nodes nodes ON ( nodes.node_id = me.route_beg ) JOIN vi_nodes nodes_2 ON ( nodes_2.node_id = me.route_beg ) WHERE ( ( ( me.route_beg = ? ) AND ( me.net_id = ? ) AND ( me.route_end = ? ) AND ( me.net_id = ? ) ) AND me.net_id = ? ) ORDER BY node_name_beg ASC ) AS foo ORDER BY node_name_beg DESC ) AS bar ORDER BY node_name_beg ASC : 'nodes.node_id', 'nodes.net_id', 'nodes_2.node_id', 'nodes_2.net_id', 'СЕВ'