sql >> Database >  >> RDS >> Mysql

Mysql-kruispunt op basis van één veld

Je kunt een simpele JOIN gebruiken voor deze baan:

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

retourneert:

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

De zoekopdracht in uw vraag ziet er als volgt uit:

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

En het retourneert correct niets omdat het enige kwalificerende record een datum heeft die ouder is dan 3 dagen.

Hier is een ongelooflijk nuttige infographic die setbewerkingen relateert aan SQL-functies

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



  1. unieke id in meer dan één tabel [MySQL]

  2. Hoe converteer ik dit van TSQL naar MYSQL?

  3. MySql-queryanalysator - gratis oplossingen

  4. Hoe zet ik een interval om in een aantal uren met postgres?