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

Løsning på underforespørgsel returnerer mere end 1 række fejl

= kan bruges, når underforespørgslen kun returnerer 1 værdi.

Når underforespørgsel returnerer mere end 1 værdi, skal du bruge IN :

select * 
from table
where id IN (multiple row query);

For eksempel:

SELECT *
FROM Students
WHERE Marks = (SELECT MAX(Marks) FROM Students)   --Subquery returns only 1 value

SELECT *
FROM Students
WHERE Marks IN 
      (SELECT Marks 
       FROM Students 
       ORDER BY Marks DESC
       LIMIT 10)                       --Subquery returns 10 values


  1. Videregivelse af en række ints til T-SQL-lagrede proc via entity framework

  2. Entity-framework-koden er langsom, når du bruger Include() mange gange

  3. Hvordan kopierer eller importerer jeg Oracle-skemaer mellem to forskellige databaser på forskellige servere?

  4. Tilslut tabeller med SUM-problem i MYSQL