sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan man evaluerer udtryk i select statement i Postgres

du kan skrive en SQL funktion, der gør dette for dig og bruge f.eks. dem, der leveres med 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

Men det kan selvfølgelig være langsomt, usikkert, du kan bruge materialiserede visninger til at cache det nemmere osv. - se dokumentet der.



  1. hvordan man kontrollerer og indstiller max_allowed_packet mysql variabel

  2. Oracle - update join - ikke nøglebevaret tabel

  3. konvertering af Epoch-tidsstempel til sql-server (læsbart format for mennesker)

  4. Hvordan virker underforespørgsel i select statement i oracle