sql >> Databáze >  >> RDS >> Mysql

Použité příkazy SELECT mají jiný počet sloupců (REDUX!!)

UNIONy (UNION a UNION ALL ) vyžadují, aby všechny dotazy, které jsou UNION, měly:

  1. Stejný počet sloupců v klauzuli SELECT
  2. Datový typ sloupce se musí na každé pozici shodovat

Váš dotaz má:

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

Nejjednodušší přepsání, které mám, je:

   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;

ODEŠLI JSTE PŘIPOJENÍ k USERS tabulky dvakrát, ale nezdá se, že byste tyto informace používali.




  1. Jak nainstalovat MySQLdb (Knihovna pro přístup k datům Pythonu do MySQL) na Mac OS X?

  2. Dotaz na kontingenční tabulku MySQL s dynamickými sloupci

  3. Jak funguje poddotaz v příkazu select v oracle

  4. Jak ověřit zálohy MySQL pomocí ClusterControl