from utils.fnc_order_pipe('{0}'::regclass, ARRAY[{1}]) p \
left outer join {0} x on p.id = x.id;".format(l_qtablename,','.join([str(i)foriinl_ids]),[','+','.join([str(i)foriindial.itemsSelected()]),''][len(dial.itemsSelected())==0]))
from utils.fnc_order_pipe('{0}'::regclass, ARRAY[{1}]) p;".format(l_qtablename,','.join([str(i)foriinl_ids])))
else:
col_names,rcrds=executeQuery(layer.dataProvider(),"select utils.fnc_decode_query('{0}'::regclass, ARRAY['{1}']) as query;".format(l_qtablename,"','".join([str(i)foriindial.itemsSelected()])));
,"with decode_values as ( {3} where id = ANY(ARRAY[{1}]) )\
select p.id, p.start_node, p.end_node {2} \
from utils.fnc_order_pipe('{0}'::regclass, ARRAY[{1}]) p \
left outer join decode_values x on p.id = x.id;".format(l_qtablename,','.join([str(i)foriinl_ids]),[','+','.join([str(i)foriindial.itemsSelected()]),''][len(dial.itemsSelected())==0],rcrds[0][0]))
_field_def:=array_append(_field_def,'(select d.'||_rec.column_name||' from '||_rec.primary_table||' d where d.'||_rec.pk_column||'=a.'||_rec.fk_column||') as '||_rec.fk_column);
ENDIF;
ENDLOOP;
o_query:='select id, '||array_to_string(_field_def,',')||' FROM '||i_regclass||' a';