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

ActiveRecord bersarang SELECT

Mengapa Anda menggabungkan alih-alih memilih berdasarkan nama depan dan belakang? Subpilihan akan jauh lebih sedikit kinerjanya daripada kueri langsung. Anda bisa mendapatkan nama lengkap menggunakan select scope (dapat diakses dengan cara yang sama seperti atribut lainnya):

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

Pembaruan: Jika Anda benar-benar perlu menulis ulang kueri di atas dengan subselect di FROM klausa ke ActiveRecord, Anda dapat melakukan hal berikut:

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

Yaitu, secara umum, Anda dapat memasukkan SQL apa pun yang valid ke dalam metode cakupan ActiveRecord, termasuk select , from , dll.



  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:Skrip SQL untuk mendapatkan daftar semua tabel yang memiliki kolom tertentu sebagai kunci asing

  2. Ekstrak Bulan Dari Bidang Tanggal

  3. Karakter baris baru PostgreSQL

  4. Periksa apakah ada nilai di array Postgres

  5. setup PostgreSQL dengan Laravel di MAMP