Gå til innhold

Anbefalte innlegg

SELECT a.id, a.title, a.userID, a.time, a.views, r.userID, r.time, ua.nick, ur.nick

FROM article AS a

LEFT JOIN reply AS r ON a.id=r.articleID

LEFT JOIN users AS ua ON a.userID=ua.id

LEFT JOIN users AS ur ON r.userID=ur.id;

 

Holder på å lage en enkel innleggsside, her er spørring til oversiktsiden.

Fikk helt hjerneteppe...problemet er at jeg får ut alle reply på hver article, vil bare ha den siste...

 

Tanken er iallefall:

-articleID(a.id) skal ikke listes opp med samme verdi flere ganger.

-r.userID og r.time skal være siste reply på hvert enkelt articleID.

 

Article table:

id, title, content, userID, time, views

 

Reply table:

id, articleID, content, userID, time

 

Users table:

id, nick, email, password, totalposts, joined

 

 

Bruker mysql btw...takker for alle svar :)

Lenke til kommentar
Videoannonse
Annonse

SELECT a.id, a.title, a.userID, a.time, a.views, max(r1.id), r2.userID, r2.time, ua.nick, ur.nick
FROM article AS a
LEFT JOIN reply AS r1 ON a.id=r1.articleID
LEFT JOIN reply AS r2 ON max(r1.id)=r2.id
LEFT JOIN users AS ua ON a.userID=ua.id
LEFT JOIN users AS ur ON r2.userID=ur.id
GROUP BY a.id;

 

Kan noen rette på denne da? Fikk ut rett id på max(r.id), men får ikke userID og time til å stemme. Får ikke til å bruke max metoden i en LEFT JOIN (Invalid use of group function)

 

Jeg fikk ikkje til å bruke DISTINCT funksjonen, er sikker meg som ikke får det til...

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...