Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

#1222 - Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda

Pernyataan pertama dalam UNION mengembalikan empat kolom:

SELECT b.id AS id, 
       b.pid AS pid, 
       b.message AS message, 
       b.date AS date 
  FROM wall_posts AS b 

Yang kedua mengembalikan enam , karena * diperluas untuk menyertakan semua kolom dari WALL_POSTS :

SELECT b.id, 
       b.date, 
       b.privacy,
       b.pid. 
       b.uid message
  FROM wall_posts AS b 

UNION dan UNION ALL operator mengharuskan:

  1. Jumlah kolom yang sama ada di semua pernyataan yang membentuk kueri UNION
  2. Tipe data harus cocok di setiap posisi/kolom

Gunakan:

FROM ((SELECT b.id AS id, 
             b.pid AS pid, 
             b.message AS message, 
             b.date AS date 
        FROM wall_posts AS b 
        JOIN Friends AS f ON f.id = b.pid 
       WHERE f.buddy_id = '1' AND f.status = 'b'
    ORDER BY date DESC
       LIMIT 0, 10)
      UNION
      (SELECT id,
              pid,
              message,
              date
         FROM wall_posts
        WHERE pid = '1'
     ORDER BY date DESC
        LIMIT 0, 10))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penulisan ulang URL dengan .htaccess buat duplikat entri mysql

  2. Menggunakan Mesin Penyimpanan MySQL yang Berbeda dalam Desain Basis Data

  3. Peka huruf besar-kecil di mana pernyataan di laravel

  4. CHAR() Contoh di MySQL

  5. password_hash, password_verify, MySQL salah paham?