Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

# 1222 - Các câu lệnh SELECT đã sử dụng có một số cột khác nhau

Câu lệnh đầu tiên trong UNION trả về bốn cột:

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

Kết quả thứ hai trả về sáu , vì dấu * mở rộng để bao gồm tất cả các cột từ WALL_POSTS :

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

UNIONUNION ALL toán tử yêu cầu rằng:

  1. Số cột giống nhau tồn tại trong tất cả các câu lệnh tạo nên truy vấn UNION'd
  2. Các loại dữ liệu phải khớp ở mỗi vị trí / cột

Sử dụng:

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. Cách bật nhật ký truy vấn chậm MySQL trong MySQL

  2. ClassCastException:java.math.BigInteger không thể được truyền sang java.lang.Long khi kết nối với MySQL

  3. MySQL:Các lựa chọn thay thế cho ORDER BY RAND ()

  4. Sails không thể kết nối với mySql

  5. Cách chọn Giá trị cột làm Tên cột với các điều kiện trong bảng SQL