2010-03-28 4 views
2

** EDIT **PostGres Erreur lors de l'utilisation Distinct: postgres ERREUR: n'a pas pu identifier un opérateur de commande pour l'enregistrement de type

Nevermind juste besoin de prendre les parens ...

Je reçois cette erreur : eRREUR: Impossible d'identifier un opérateur de commande pour le type d'enregistrement lorsque vous essayez d'utiliser DISTINCT

est ici la requête:

select DISTINCT(g.fielda, g.fieldb, r.type) 
from fields g LEFT JOIN types r ON g.id = r.id; 

Et la err ORS:

ERROR: could not identify an ordering operator for type record 
HINT: Use an explicit ordering operator or modify the query. 

********** Error ********** 

ERROR: could not identify an ordering operator for type record 
SQL state: 42883 
Hint: Use an explicit ordering operator or modify the query. 
+3

S'il vous plaît envisager d'ajouter votre solution comme une réponse, plutôt que de modifier votre question, afin que d'autres puissent en bénéficier correctement :). –

Répondre

1

Comme je pense que vous avez travaillé, vous ne voulez pas les parenthèses après DISTINCT. Ils semblent vouloir paramétrer DISTINCT, mais ils servent en fait à renvoyer une seule colonne de type enregistrement au lieu de plusieurs colonnes. L'opérateur DISTINCT essaie alors de travailler sur l'enregistrement et constate que vous n'avez pas défini de commande sur cet enregistrement.

Si vous souhaitez que DISTINCT fonctionne sur un sous-ensemble de vos valeurs de retour, utilisez DISTINCT ON.

+0

Oui, j'ai travaillé sur les choses parens, mais je n'ai pas compris pourquoi, alors merci pour l'explication! – CaffeineIV

Questions connexes