2015-06-17 17 views
5

Ich habe eine generierte Postgres AbfragePostgres Spalte nicht existiert, aber es ist dort mit alias

select ..., s.name as supplier, ... 
from ... supplier s ... 
where ... 
     AND (cast(supplier as varchar(255)) ilike '%test%') 
     ... 
ORDER BY supplier desc nulls last 

ich diesen Fehler:

org.postgresql.util.PSQLException: ERROR: column "supplier" does not exist

wenn ich den „Lieferanten“ mit s.name ersetzen dann es ist in Ordnung, aber ich kann das nicht tun. Ich habe dieses Problem auch in anderen Spalten, aber es gibt Spalten, die gut funktionieren.

Es gibt einige Einschränkungen, die ich nicht verwenden kann Alias ​​der gleiche wie der Tabellenname oder was kann das Problem sein?

+0

Das ist richtig. Ein Spaltenalias, der in SELECT definiert ist, kann nicht in WHERE referenziert werden. In Postgres kann es in den Klauseln 'GROUP BY' und' ORDER BY' (und 'HAVING') referenziert werden. –

Antwort

Verwandte Themen