SQL - Funciones Postgresql

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 3 puestos en SQL (en relación al último mes)
Gráfica de SQL

Funciones Postgresql

Publicado por Carlos (3 intervenciones) el 16/03/2020 17:14:13
Hola!

Tengo esta función
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE OR REPLACE FUNCTION public.mostrar(
	)
    RETURNS TABLE(codigo integer, cliente character varying, proveedor character varying, total integer, fecha timestamp without time zone, codigodetale integer, producto character varying, cantidad integer, precio integer, subtotal integer)
    LANGUAGE 'plpgsql'
 
    COST 100
    VOLATILE
    ROWS 1000
AS $BODY$
BEGIN
 return query SELECT f.codigo,f.cliente,f.proveedor,f.total,f.fecha,d.codigodetalle,d.producto,d.cantidad,d.precio,d.subtotal FROM factura f
                INNER JOIN detalle d ON f.codigo = d.codigo;
 
END;
$BODY$;

La cual me trae los datos de 2 tablas, pero quisiera que esta función al llamarla me muestre estos datos (codigo,cliente,proveedor,fecha) y después de seleccionar un código, me traiga los datos de las 2 tablas

ejemplo:
______________________________________
codigo │cliente │proveedor │fecha │
----------------------------------------------------------------
1 │cliente1 │proveedor1 │01/01/2020 │
----------------------------------------------------------------
2 │cliente2 │proveedor2│01/01/2020 │
---------------------------------------------------------------
si selecciono, la fila que tiene codigo 1 me deberia mostrar los datos de esta forma

_________________________________________________________________________________
codigo │cliente │proveedor │fecha │total │producto │cantidad │precio │subtotal │
---------------------------------------------------------------------------------------------------------------------------------------
1 │cliente1 │proveedor1 │01/01/2020 │70000 │gorra │ 2 │25000 │50000 │
----------------------------------------------------------------------------------------------------------------------------------------
1 │cliente1 │proveedor1│01/01/2020 │70000 │lentes │1 │20000 │20000 │
-----------------------------------------------------------------------------------------------------------------------------------------

¿Como podria hacer eso en la función ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder