sql >> Database teknologi >  >> RDS >> Mysql

#1242 - Underforespørgsel returnerer mere end 1 række - mysql

Da din underforespørgsel kan returnere flere værdier, IN skal passe ind i din hvor-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
)

et alternativ til dette er at join begge tabeller, hvilket er mere 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. date_trunc 5 minutters interval i PostgreSQL

  2. Kalder lagret procedure ved hjælp af VBA

  3. Tjek om findes, hvis ja, opdater med 1++, hvis ikke indsæt

  4. Hvordan bruger man dynamiske kolonnenavne i en UPDATE- eller SELECT-sætning i en funktion?