Re: Duda con un select y alias

From: Jairo Graterón <jgrateron(at)gmail(dot)com>
To: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
Cc: "Fontana Daniel C (Desartec S(dot)R(dot)L(dot))" <desartecsrl(at)gmail(dot)com>, Juan José Santamaría Flecha <juanjo(dot)santamaria(at)gmail(dot)com>, pgsql-es-ayuda(at)lists(dot)postgresql(dot)org
Subject: Re: Duda con un select y alias
Date: 2020-08-31 15:05:05
Message-ID: CALnU-rOhSK4C-i2AX_iT04rkf6zy0eqbUAwG6wJhuWN4y4OF0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Daniel, puedes retornar dos valores como dice Anthony o usar
subconsultas

with T1 as
(select <https://www.postgresql.org/docs/11/static/sql-select.html>
'XXXZMMM1234567890123yyyy/mm/dd' as ls_numero)

select <https://www.postgresql.org/docs/11/static/sql-select.html>
substr <https://www.postgresql.org/docs/11/static/functions-string.html>(ls_numero,
8, 13), substr <https://www.postgresql.org/docs/11/static/functions-string.html>(ls_numero,
21, 10) from t1;

with T1 as
(select <https://www.postgresql.org/docs/11/static/sql-select.html>
f_articulo_get_precio(xxxxx) as ls_numero)

select <https://www.postgresql.org/docs/11/static/sql-select.html>
substr <https://www.postgresql.org/docs/11/static/functions-string.html>(ls_numero,
8, 13), substr <https://www.postgresql.org/docs/11/static/functions-string.html>(ls_numero,
21, 10) from t1;

El jue., 27 ago. 2020 a las 20:57, Anthony Sotolongo (<asotolongo(at)gmail(dot)com>)
escribió:

> Hola Daniel, si tienes acceso a modificar esa función puedes definir dos
> parámetros de salida que retornen esos valores, y así la llamarías una sola
> vez.
>
>
> Saludos
>
> El jue., 27 de agosto de 2020 7:55 p. m., Fontana Daniel C (Desartec
> S.R.L.) <desartecsrl(at)gmail(dot)com> escribió:
>
>> perfecto, ahora imaginemos que '1234567890' es una funcion
>> f_articulo_get_precio( id_code ),
>> que devuelve en un string como el siguiente
>> 'XXXZMMM1234567890123yyyy/mm/dd' donde
>> 1234567890123 es el precio
>> yyyyy/mm/dd la fecha en que se cambio por ultima vez.
>> Como haria en este caso para obtener estos valores por separado?
>> sin llamar a la funcion 2 veces evitando sobrecargar la base?
>>
>> De: Juan José Santamaría Flecha [mailto:juanjo(dot)santamaria(at)gmail(dot)com]
>> Enviado el: jueves, 27 de agosto de 2020 17:22
>> Para: Diego
>> CC: Fontana Daniel C (Desartec S.R.L.);
>> pgsql-es-ayuda(at)lists(dot)postgresql(dot)org
>> Asunto: Re: Duda con un select
>>
>>
>> El jue., 27 ago. 2020 17:55, Diego <mrstephenamell(at)gmail(dot)com> escribió:
>> El que falla es el ls_numero del substr asi te va a funcionar: select
>> '1234567890' as ls_numero, substr('1234567890', 3, 3);
>> Hay muchas formas de hacer algo equivalente, si necesitas hacer
>> referencia a la columna "ls_numero" puedes utilizar una consulta anidada:
>>
>> select substr(ls_numero, 3, 3) from
>> (select '1234567890' as ls_numero) as ls;
>>
>> Un saludo,
>>
>> Juan José Santamaría Flecha
>>
>>
>>
>>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2020-08-31 16:07:04 Re: Duda con un select y alias
Previous Message Anthony Sotolongo 2020-08-28 00:56:56 Re: Duda con un select y alias