Gå til innhold

Trenger hjelp til en spørring


Anbefalte innlegg

Hei jeg holder på å lage et system for å "tagge" artikler på siden min. Og database layoutet ser ut som dette (har bare tatt med nødvendige columns).

 

293978.jpeg (trykk på bildet)

 

Hva er den beste måten å hente ut en liste av artikler og hvilke tags den har? Sånn som dette:

 

This is an article title

Tags: foo, bar, bla

 

This is another article

Tags: foo, bla

Endret av chrome88
Lenke til kommentar
Videoannonse
Annonse

Takk :) fikk det til å funkte med denne spørringen:

 

SELECT p.*, GROUP_CONCAT(t.tag_id) AS tag_ids FROM posts p INNER JOIN tagged_posts t ON p.id = t.article_id WHERE p.published = 1 GROUP BY p.id

 

Da får jeg dette som resultat

 

Aticle one

Tags: 2,3,6

 

Article two

Tags: 1,4,5

 

etc...

 

Men jeg har et lite problem til. Hvis jeg bare vil ha artikler som er tagget med f.eks tag id 3 da får jeg ikke med alle taggene.

 

Aticle one

Tags: 3 (mangler 2 og 6)

 

Er det noen måte å fikse det på?

Endret av chrome88
Lenke til kommentar

Jeg tenker meg da en subspørring til å først hente ut de respektive artiklene du snakker om, deretter hente ut resten av tags.

 

SELECT p.*, GROUP_CONCAT(t.tag_id) AS tag_ids FROM ( SELECT p.* FROM tagged_posts t INNER JOIN posts p ON p.id = t.article_id WHERE t.id = 3) p INNER JOIN tagged_posts t ON p.id = t.article_id WHERE p.published = 1 GROUP BY p.id

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...