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

Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda (REDUX!!)

UNION (UNION dan UNION ALL ) mengharuskan semua kueri yang menjadi UNION memiliki:

  1. Jumlah kolom yang sama dalam klausa SELECT
  2. Tipe data kolom harus cocok di setiap posisi

Kueri Anda memiliki:

SELECT f.*, u1.*, u2.* ...
UNION 
SELECT fid2 FROM friends

Penulisan ulang termudah yang saya miliki adalah:

   SELECT f.*, u.*
     FROM FRIENDS AS f
     JOIN USERS AS u ON u.uid = f.fid2
    WHERE f.fid1 = 1 
      AND f.fid2 > 1
UNION 
   SELECT f.*, u.*
     FROM FRIENDS AS f
     JOIN USERS AS u ON u.uid = f.fid1
    WHERE f.fid2  = 1 
      AND f.fid1 < 1
ORDER BY RAND()
LIMIT 6;

Anda telah KIRI GABUNG ke USERS tabel dua kali, tetapi tampaknya tidak menggunakan informasi tersebut.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instal Web Server di Windows XP dengan Apache2, PHP5 dan MySQL4 – Bagian 4

  2. Kekurangan mysql_real_escape_string?

  3. Kesalahan MySQL 1064 sintaks tetapi semuanya tampak baik-baik saja

  4. Cara Mendapatkan Tahun dan Bulan Dari Tanggal di MySQL

  5. Bagaimana Mengelola Database Anda dengan Adminer