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

Perbaiki "ERROR:setiap kueri INTERSECT harus memiliki jumlah kolom yang sama" di PostgreSQL

Saat menggunakan INTERSECT PostgreSQL operator, jika Anda menemukan kesalahan yang berbunyi “ERROR:setiap kueri INTERSECT harus memiliki jumlah kolom yang sama “, itu karena ada ketidakcocokan dalam jumlah kolom yang dikembalikan oleh kueri di kedua sisi INTERSECT operator.

Cara untuk memperbaikinya adalah dengan memastikan bahwa keduanya SELECT pernyataan mengembalikan jumlah kolom yang sama.

Contoh Kesalahan

Berikut contoh kode yang menghasilkan kesalahan:

SELECT TeacherName FROM Teachers
INTERSECT
SELECT StudentId, StudentName FROM Students;

Hasil:

ERROR:  each INTERSECT query must have the same number of columns
LINE 3: SELECT StudentId, StudentName FROM Students;

Di sini, SELECT first pertama pernyataan mengembalikan satu kolom (TeacherName ), tetapi SELECT second kedua pernyataan mengembalikan dua kolom (StudentId dan StudentName ).

Solusi

Solusinya adalah memastikan keduanya SELECT pernyataan mengembalikan jumlah kolom yang sama

Dengan menggunakan contoh di atas, kita dapat menghapus kolom tambahan dari SELECT . kedua kita pernyataan:

SELECT TeacherName FROM Teachers
INTERSECT
SELECT StudentName FROM Students;

Hasil:

 teachername 
-------------
 Bill
 Warren

Opsi lainnya adalah menambahkan kolom yang relevan ke SELECT pertama pernyataan:

SELECT TeacherId, TeacherName FROM Teachers
INTERSECT
SELECT StudentId, StudentName FROM Students;

Hasil:

 teacherid | teachername 
-----------+-------------
         6 | Bill

Seperti yang ditunjukkan oleh contoh ini, baris yang berbeda dapat ditampilkan tergantung pada opsi yang Anda pilih.

Kami juga dapat menggunakan INTERSECT ALL , yang menyertakan nilai duplikat:

SELECT TeacherId, TeacherName FROM Teachers
INTERSECT ALL
SELECT StudentId, StudentName FROM Students;

Hasil:

 teacherid | teachername 
-----------+-------------
         6 | Bill

Ini juga dapat mengembalikan hasil yang sama atau berbeda, bergantung pada datanya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menyiapkan pernyataan dan mengikat parameter di Postgresql untuk C++

  2. HikariCP - koneksi tidak tersedia

  3. Solusi Ruby generik untuk SQLite3 LIKE atau PostgreSQL ILIKE?

  4. Pemantauan PostgreSQL Penting - Bagian 1

  5. Kelompokkan hasil kueri berdasarkan bulan dan tahun di postgresql