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

ActiveRecord नेस्टेड चयन

आप पहले और अंतिम नाम के आधार पर चयन करने के बजाय एक दूसरे से क्यों जुड़ते हैं? उप-चयन प्रत्यक्ष क्वेरी की तुलना में बहुत कम प्रदर्शनकारी होगा। आप select . का उपयोग करके पूरा नाम प्राप्त कर सकते हैं दायरा (यह अन्य विशेषताओं की तरह ही सुलभ होगा):

 Candidate.select("candidates.*, (first_name || ' ' || last_name) AS full_name").
           where(first_name: 'Antonov', last_name: 'Kolganov')

अपडेट करें: यदि आपको वास्तव में उपरोक्त क्वेरी को FROM . में उप-चयन के साथ फिर से लिखने की आवश्यकता है ActiveRecord का खंड, आप निम्न कार्य कर सकते हैं:

Candidate.from("(SELECT (candidates.first_name || ' ' || candidates.last_name) AS full_name, candidates.* FROM candidates) candidates").
          where(full_name: 'Anton Kolganov')

यानी, सामान्य तौर पर, आप किसी भी मान्य SQL को ActiveRecord स्कोप विधियों में डाल सकते हैं, जिसमें select शामिल हैं , from , आदि.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं Postgres में मॉड्यूल कैसे आयात करूं या एक्सटेंशन कैसे स्थापित करूं?

  2. विंडोज 7 पर पोस्टग्रेस्क्ल यूजर पासवर्ड बदलें/रीसेट करें

  3. जेपीए 2:विदेशी कुंजी में एकाधिक कॉलम उपयोग

  4. विशाल (95Mb) JSON सरणी को छोटे विखंडू में विभाजित करें?

  5. मणि स्थापित पीजी --with-pg-config काम करता है, बंडल विफल रहता है