2016-04-06 37 views
0

Ich versuche, eine Sicht mit abgeleiteten Daten zu erstellen, aber ich habe eine harte Zeit damit.Zugriff auf Aliase innerhalb eines Select

create or replace view myview as 
SELECT 
    SUM(field1) AS "field1", 
    COUNT(field1) AS "field2", 
    (field1/field2) AS "field3" 
FROM mytable 

Mein Problem ist, ich mit MySQL vertraut bin und könnte dies wahrscheinlich herausfinden, aber das ist Postgres und ich bin immer noch immer auf Syntax gestolpert.

würde ich field3 werden basierend auf 1 Felder mögen und 2. Ich vermute, ich so etwas wie ...

tun können
(SUM(field1)/COUNT(field1)) AS "field3" 

Aber das fühlt sich überflüssig, meine meine eigentliche Abfrage ist muss länger, Der Zugriff auf den Alias ​​wäre also eine Idee, wenn es einen Weg gäbe.

Antwort

0

Der Alias ​​wird nicht auf der gleichen Ebene erkannt. Entweder wiederholen Sie den Code, wie Sie es vorschlagen. Oder Sie müssen eine Unterabfrage erstellen.

SELECT (field1/field2) AS "field3" 
FROM (
    SELECT 
     SUM(field1) AS "field1", 
     COUNT(field1) AS "field2",   
    FROM mytable 
    ) T 
Verwandte Themen