PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PG::InvalidColumnReference:ERROR:SELECT DISTINCT के लिए, ORDER BY एक्सप्रेशन सेलेक्ट लिस्ट में दिखना चाहिए

आपको जोड़ना होगा widget_steps.name चयनित स्तंभों की सूची के लिए:

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

इससे आपकी क्वेरी का तर्क नहीं बदलना चाहिए और यह ठीक काम करेगा।

रेल में आप select . का उपयोग कर सकते हैं चयनित स्तंभों की सूची सेट करने की विधि:

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

आशा है कि इससे मदद मिलेगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DBIx::Class::ResultSet की find_or_create विधि का उपयोग करते समय दौड़ की स्थिति से कैसे बचें?

  2. Dapper और Postgresql का उपयोग करना - citext डेटा प्रकार

  3. PostgresSQL / pgAdmin4 / डंप सर्वर संस्करण बेमेल

  4. Postgresql में FOUND_ROWS () फ़ंक्शन के समतुल्य

  5. पोस्टग्रेज पाथ प्रकार को ARRAY . में परिवर्तित करते हैं