sql >> Databasteknik >  >> RDS >> Mysql

#1242 - Subquery returnerar mer än 1 rad - mysql

Eftersom din underfråga kan returnera flera värden, IN bör passa in i din where-klausul.

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
)

ett alternativ till detta är att join båda tabellerna vilket är mer effektivt.

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. Jag försöker en enkel fråga med parametern in med mysql 5.5 genom jdbc-kod

  2. Skriv ut resultat i MySQL-format med Python

  3. Hur avrundar man till närmaste X minuter med PL/pgSQL?

  4. MySQL lagrad procedur vs funktion, vilken skulle jag använda när?