2017-04-09 2 views
0

Ich versuche, das Ergebnis einer Unterabfrage in der allgemeinen Abfrage übergeben werden, aber der Wert der Unterabfrage wird direkt zurückgegeben. Im folgenden Beispiel habe ich eine Tabelle mit einigen numerischen Ergebnissen, und eine zweite Tabelle enthält die Formeln in der Abfrage verwendet werden.Wert der Unterabfrage in Abfrage in PostgreSQL übergeben

Ich habe kein Problem, die Ergebnisse direkt Abfrage durch die Formeln zu:

SELECT  (col1 + col2) AS "Result1", 
      col2   AS "Result2",      
FROM 
myschema.results 

Aber ich mag eine Unterabfrage verwenden, um die Formel aus der Formel Tabelle zu holen:

SELECT  (SELECT formula FROM myschema.formulas WHERE id = 'res1') AS "Result1", 
      col2   AS "Result2",      
FROM 
myschema.results 

In die erste Abfrage bekomme ich richtig etwas wie

Result 1 Result 2 
3   2 

Aber bei der Verwendung der Unterabfrage ich inco Richtig erhalten:

Result 1 Result 2 
col1 + col2   2 

Wie kann ich das Unterabfrageergebnis in der ersten Abfrage interpretiert werden? Ich habe einige Lösungen gefunden, die Joins verwenden, aber ich bin mir nicht sicher, ob ich das brauche und frage mich, ob es einen einfacheren Weg gibt, dies zu erreichen. Danke für jede Hilfe!

+0

Bitte aktualisieren Sie Ihre Fragen mit der Lösung mit Join Sie gefunden haben. –

+0

Sie benötigen etwas wie folgt: http://dba.stackexchange.com/questions/33894/store-a-formula-in-a-table-and-use-the-formula-in-a-function – pozs

Antwort

1

Was Sie fordern, ist dynamisches SQL.

So etwas wie das.

Verwandte Themen