PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

masalah alias kolom postgres

Di PostgreSQL Anda tidak dapat menggunakan ekspresi dengan alias diurutkan oleh. Hanya alias biasa yang berfungsi di sana. Kueri Anda akan terlihat seperti ini:

   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;

Saya berasumsi bahwa yang Anda maksud adalah l2.user_id=l.user_id harus pergi dulu.

Ini adalah pesan yang relevan di milis umum PostgreSQL. Berikut ini adalah dokumentasi dari ORDER BY klausa:

Setiap ekspresi dapat berupa nama nomor urut dari kolom keluaran (PILIH item daftar), atau dapat berupa ekspresi arbitrer yang dibentuk dari kolom input nilai .

Jadi tidak ada alias saat ekspresi digunakan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Untuk pemula, apakah ada banyak perbedaan antara MySQL dan PostgreSQL?

  2. ver.2 PyGreSQL ERROR:from _pg import * ImportError:DLL load failed:Modul yang ditentukan tidak dapat ditemukan

  3. Pilih catatan pertama jika tidak ada yang cocok

  4. Postgres baru saja berhenti bekerja secara acak (Rails, PGSQL.5432)

  5. CTE dan Paradoks Ulang Tahun