Hola de nuevo, a parte de lo que te dice el amigo ContraVeneno, supongo que también puedes guardar tu consulta como una vista y cuando quieras recuperar desde delphi lo haces como si fuera una tabla con el AdoQuery inclusive puedes utilizar un AdoTable.
Código Delphi
[-]
with ADOQuery1 do
begin
If active then close;
SQL.Clear;
SQL.Add('Select * ');
SQL.Add('From NombreVista');
Open;
Showmessage('Campo1:'+FieldByName('so_id').AsString+' Campo2:'+FieldByName(se_des').AsString);
Saluditos