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

#1242-サブクエリが複数の行を返す-mysql

    サブクエリは複数の値を返す可能性があるため、IN youywhere句に収まる必要があります。

    SELECT pictures_archive_filename 
    FROM pictures_archive 
    WHERE pictures_archive_id IN 
    (
       SELECT pictures_archive_id 
       FROM pictures_archive_category 
       WHERE pictures_category_id = 9
    )
    

    これに代わる方法は、joinです。 より効率的な両方のテーブル。

    SELECT  pictures_archive_filename 
    FROM    pictures_archive a 
            INNER JOIN pictures_archive_category b
                ON a.pictures_archive_id = b.pictures_archive_id
    WHERE   b.pictures_category_id = 9
    


    1. mysqlでバランスを計算する

    2. MySQL5.6で生成された列の代替手段は何ですか

    3. ディメンションのディメンション:データウェアハウスの最も一般的なディメンションテーブルタイプの概要

    4. OFFSET/FETCHを使用したSQLServerでのページネーション