Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Usuń zestaw wyników zapytania SQL

Prawdą jest, że nie możesz użyć tej samej tabeli, z której chcesz usunąć wiersze w bezpośredniej podselekcji, ale z małą sztuczką - podselekcji w podselekcji jako tabeli pochodnej - możesz to zrobić:

DELETE FROM votes
WHERE id IN (
    SELECT 
        t.id
    FROM ( 
        SELECT v.id, COUNT(c.comment) cnt
        FROM votes v
        LEFT JOIN comments c ON f.id = v.post_id
        GROUP BY v.id
        HAVING COUNT(c.comment) = 0 
    ) t
);

Zakładam, że wiersze bez komentarzy powinny zostać usunięte.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć tylko jeden wiersz z tabeli skrajnej po prawej dla każdego wiersza w tabeli skrajnej po lewej stronie

  2. PlanetScale &Vitess:Integralność referencyjna ze starszymi bazami danych podzielonych na fragmenty

  3. Błąd składni zapytania MySQL Inner Join Query

  4. Mysql Search Traktuj okresy jak spacje

  5. Dlaczego „ograniczenie klucza obcego nie działa”, gdy istnieje klucz obcy?