sql >> Databáze >  >> RDS >> Mysql

Řešení poddotazu vrací chybu více než 1 řádek

= lze použít, když poddotaz vrátí pouze 1 hodnotu.

Když dílčí dotaz vrátí více než 1 hodnotu, budete muset použít IN :

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

Například:

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. Řízení bezpečnosti dat

  2. Jak migrovat databázi SQL Server do MySQL?

  3. Změna tabulky migrace místnosti nepřidává nový sloupec a migrace je volána znovu a znovu

  4. Jak uživateli udělit oprávnění ke vzdálenému přístupu k serveru mysql?