with Query1 do begin
Close;
sql.clear;
sql.add(' select distinct id ');
with query2 do begin
Close;
SQL.Text:='select num from tl order by num ';
Open;
i:=1;
while not eof do begin
query1.SQL.Add(', '+fieldbyname('num').AsString+' as no'+inttostr(i));
i:=i+1;
Next;
end;
end;
SQL.Add(' from tl ');
Open;
end;