sql >> Databasteknik >  >> RDS >> Mysql

Hur gör du detta i mysql eller rails

Denna SQL returnerar de inlägg som innehåller båda taggarna.

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'
;

När det gäller att göra det via Active Record, skulle ett alternativ vara att fråga efter var och en av taggarna och sedan &de resulterande arrayerna för att få skärningspunkten mellan de två.



  1. Vilket är snabbare – INSTR eller LIKE?

  2. Uppdatering av Oracle Table från Excel VBA Macro med ODBC-anslutning

  3. Java MYSQL Prepared Statement Fel:Kontrollera syntax för att använda nära '?' på rad 1

  4. Hur man optimerar en ORDER BY för en beräknad kolumn på en MASSIV MySQL-tabell