sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man utvärderar uttryck i select-sats i Postgres

du kan skriva en SQL-funktion som gör detta åt dig och använda t.ex. de som levereras 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 naturligtvis kan det vara långsamt, osäkert, du kan använda materialiserade vyer för att cache det lättare, etc. - se dokumentet där.



  1. Dela upp ett kolumnvärde i flera kolumnvärden

  2. Python MySQL-anslutning - oläst resultat hittades vid användning av fetchone

  3. Hur man exporterar frågeresultat till .csv eller tabbavgränsad fil i SQL Server Management Studio(SSMS) - SQL Server / TSQL självstudie del 23

  4. Hur man ställer in MariaDB för att använda vertikal utdata