Y como dijo Gabo que sabía hacer, no sería mejor que en vez de complicarnos la vida con un Vista adicional y tal, hacer directamente un Join en la consulta SQL y obtener los textos correspodientes según los valores del campo FORMA_PAGO.
Pero entiendo una vez más que esa no era la pregunta de Gabo, sino saber si se podía hacer sin crear precisamente esa tabla y sin el Join.
Pongo un caso articular mío que viene a cuento de mi hilo 'paralelo' que anda ahora mismo por aquí en el foro SQL.
Yo obtengo 3 campos de mi consulta SQL, Apellido1, Apellido2 y Nombre, y los quiero mostrar en una UNICA columna de un DBGrid, y en el 'formato' Apellido1 Apellido2, Nombre es decir los dos apellidos separados por un espacio y con una , del nombre. Pero condicionando a si existe o no el 2º Apellido, y a si existe o no también el Nombre obtenido en la consulta SQL.
Para ello me viene ideal la función OnGetText de un campo del DBGrid.
Código Delphi
[-]procedure TForm.IBDataSet1NOMBREGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
if IBDataSet1HABITAC.IsNull then
Text := 'Todas las Habitaciones'
else begin
Text := IBDataSet1APELLIDO1.AsString;
if not IBDataSet1APELLIDO2.IsNull then
Text := Text + ' ' + IBDataSet1APELLIDO2.AsString;
if not IBDataSet1NOMBRE.IsNull then
Text := Text + ', ' + IBDataSet1NOMBRE.AsString;
end;
end;
En cualquier caso, Gabo sabrá usar la que a él mejor le interese con las diferentes opciones que le estamos dando.