sql >> データベース >  >> RDS >> Mysql

使用されるSELECTステートメントの列数が異なります(REDUX !!)

    UNION(UNION およびUNION ALL )UNIONであるすべてのクエリに次のものが含まれている必要があります:

    1. SELECT句の同じ数の列
    2. 列のデータ型は各位置で一致する必要があります

    クエリには次のものがあります:

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

    私が持っている最も簡単な書き直しは次のとおりです:

       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;
    

    USERSに参加しました 表を2回表示しますが、情報を使用していないようです。




    1. SQLServerで実行プランを生成する方法

    2. フルパスからファイル名とパスを解析します

    3. SQL、一意のキーと主キー

    4. docker-composeを使用してpostgresqlデータベースにテーブルを作成する