sql >> Databáze >  >> RDS >> PostgreSQL

Jak vyhodnotit výraz v příkazu select v Postgresu

můžete napsat funkci SQL, která to udělá za vás a použít např. ty dodávané s postgres-utils:

select 
  c.name as cust_name,
  p.name as prod_name,
  p.cost as prod_cost,

  eval(  
    'select '||c.price_expression||' from product where id=:pid',
    '{"{cost}",:pid}',  
    array[ p.cost, p.id ]  
  )      as cust_cost

from product p,  customer c

Ale samozřejmě to může být pomalé, nezabezpečené, ke snazšímu ukládání do mezipaměti můžete použít materializované pohledy atd. – viz dokument tam.



  1. Funkce NLS_CHARSET_DECL_LEN() v Oracle

  2. Jak načíst dvě odezvy Json Json Object a Array

  3. Funkční jednotky

  4. Proč v dotazech MySQL používat join místo kde?