Jonhoo Skrevet 13. november 2007 Rapporter Del Skrevet 13. november 2007 Heisann folkens =) OK, here's the deal. Jeg skal lage et tagging system for en nyhetsside. Tabellen skal ha tre columns: tag_id, tag_value og linkHash. linkHashen er det som forbinder hver tag med en gitt artikkel, og her er hva jeg ønsker å gjøre: Og så kommer "the tricky part" Jeg vil hente ut alle tagsene med linkHash lik hashen til artikkelen jeg er på som er lagret i $story['linkHash'], og sammen med hver row den returner vil jeg i tillegg til columnsene også ha antallet rows i tabellen med samme tag_value. Altså noe slik: SELECT tag_value,(SELECT COUNT(*) AS tag_number FROM tags WHERE tag_value = this.tag_value) FROM tags WHERE linkHash = '$story['linkHash']' Litt vrient å forklare, men jeg vil altså at hver row skal inneholde taggen, og totalt antall av den taggen i tabellen. Noen som har peiling på hvordan jeg kan gjøre dette? På forhånd takk =) Jon Lenke til kommentar
roac Skrevet 14. november 2007 Rapporter Del Skrevet 14. november 2007 Noe i retning av dette? select t1.tag_value, count(t2.value) as antall from tags t1 inner join tags t2 on (t1.tag_value = t2.tag_value) where t1.linkhash =... Lenke til kommentar
Jonhoo Skrevet 14. november 2007 Forfatter Rapporter Del Skrevet 14. november 2007 Mulig det, skal teste det senere i dag, og se hva jeg får ut =) Takker og bukker Lenke til kommentar
Jonhoo Skrevet 14. november 2007 Forfatter Rapporter Del Skrevet 14. november 2007 (endret) Hvis jeg kjører følgende query (har ikke laget tags tabellen enda, så brukte en jeg har fra før av): select t1.itemTitle, count(t2.itemTitle) as antall from related t1 inner join related t2 on (t1.itemType = t2.itemType) where t1.linkhash = '3df7257914420c35db82e74569ad29bfde507701' Så får jeg følgende error fra MySQL #1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause Noen ideer? ---------------------------[ EDIT ]--------------------------- NVM, fant ut at alt jeg trengte å gjøre var: SELECT t1.itemTitle, count( t2.itemTitle ) AS antall FROM related t1 INNER JOIN related t2 ON ( t1.itemType = t2.itemType ) WHERE t1.linkhash = '3df7257914420c35db82e74569ad29bfde507701' GROUP BY itemTitle så fungerte det smertefritt =) Endret 14. november 2007 av Jonhoo Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå