PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

проблем с псевдонима на колоната на postgres

В PostgreSQL не можете да използвате израз с псевдоним в ред по. Там работят само обикновени псевдоними. Вашата заявка трябва да изглежда така:

   select distinct 
          l2.*, 
          l.user_id as l_user_id, 
          l.geopoint_id as l_geopoint_id 
     from locations l 
left join locations l2 on l.geopoint_id = l2.geopoint_id 
    where l.user_id = 8 
 order by l2.geopoint_id, l.user_id = l2.user_id desc;

Предполагам, че имате предвид, че l2.user_id=l.user_id трябва да вървя първи.

Това е подходящо съобщение в общия пощенски списък на PostgreSQL. Следното е в документацията на ORDER BY клауза:

Всеки израз може да бъде име или пореден номер на изходна колона (SELECT елемент от списъка) или може да бъде произволен израз, образуван от входна колона ценности .

Така че няма псевдоними, когато се използва израз.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите текущото време в PostgreSQL

  2. Още от любимите ми PostgreSQL заявки - и защо те също имат значение

  3. Копиране на Postgres от променлива с CSV данни

  4. PostgreSQL:Пуснете PostgreSQL база данни през командния ред

  5. Проверете дали в PostgreSQL вече съществува дефиниран от потребителя тип