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

Mysql skæringspunkt baseret på enkelt felt

Du kan bruge en simpel JOIN til dette job:

SELECT 
  m1.* 
FROM
  mytable m1 
  INNER JOIN mytable2 m2 
    ON m1.history = m2.history 

returnerer:

id  emails      phones          history insert_date
237 PLEASE SET  [email protected]  gomez   2015-01-11

Forespørgslen i dit spørgsmål ville se sådan ud:

SELECT 
  m1.* 
FROM
  mytable m1 
  INNER JOIN mytable2 m2 
    ON m1.history = m2.history 
WHERE `insert_date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAY)

Og det returnerer korrekt intet, fordi den eneste kvalificerende rekord har en dato, der er ældre end 3 dage.

Her er en utrolig nyttig infografik, der relaterer sætoperationer til SQL-funktioner

http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_or .jpg



  1. Kan ikke oprette forbindelse til serveren:postgresql på ubuntu i windows undersystem til linux

  2. MYSQL ind i outfil adgang nægtet - men min bruger har ALT adgang.. og mappen er CHMOD 777

  3. Få SQL*Plus-scriptet til at afslutte

  4. Skrivning af elementer til en MySQL-database i Scrapy