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

Hvordan gør du dette i mysql eller rails

Denne SQL returnerer de indlæg, der indeholder begge tags.

select 
  p.* 
from 
  posts p
  ,asset_tags atg1
  ,asset_tags atg2
  ,tags t1
  ,tags t2
where
  p.id = atg1.post_id
and t1.id = atg1.tag_id
and t1.tag = 'MySQL' 
and p.id = atg2.post_id
and t2.id = atg2.tag_id
and t2.tag = 'Rails'
;

Hvad angår at gøre det via Active record, ville et alternativ være at forespørge efter hvert af tags og derefter &de resulterende arrays for at få skæringspunktet mellem de to.



  1. Generer unikt brugernavn fra for- og efternavn?

  2. Konverter nesting mysql-forespørgslen til codeigniter-stil

  3. Hvordan fjerner man nye linjetegn fra datarækker i mysql?

  4. konverter GMT-tid til EST