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

PG::InvalidColumnReference:ERROR:untuk SELECT DISTINCT, ekspresi ORDER BY harus muncul di daftar pilih

Anda perlu menambahkan widget_steps.name ke daftar kolom yang dipilih:

SELECT  DISTINCT "widgets".*, "widget_steps.name" FROM "widgets" INNER JOIN "widget_steps" ON "widget_steps"."widget_id" = "widgets"."id" INNER JOIN "widget_steps" "active_steps_widgets" ON "active_steps_widgets"."id" = "widgets"."active_widget_step_id" WHERE "widgets"."account_id" = 1 AND "widgets"."completed_at" IS NULL AND (("widgets"."sequential" = 't' AND "widget_steps"."assigned_to" = 5 AND "widget_steps"."id" = "widgets"."active_widget_step_id" AND "widget_steps"."completed_at" IS NULL) OR ("widgets"."sequential" = 'f' AND "widget_steps"."assigned_to" = 5 AND "widget_steps"."completed_at" IS NULL)) ORDER BY sequential DESC, widget_steps.name ASC LIMIT 10 OFFSET 0

Ini seharusnya tidak mengubah logika kueri Anda dan akan berfungsi dengan baik.

Di Rails Anda dapat menggunakan select metode untuk mengatur daftar kolom yang dipilih:

Widget.select('"widgets".*, "widget_steps.name"')

Semoga ini bisa membantu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LIKE dengan % pada nama kolom

  2. Dapatkan Nama Bulan dari Tanggal di PostgreSQL

  3. Memigrasi pernyataan Oracle MERGE ke pernyataan UPSERT PostgreSQL

  4. Spring Data JPA + Hibernate Lewati Terkunci baris (PostgreSQL)

  5. Bagaimana kita membangun tabel Normalized dari file teks DeNormalized satu?