[MySQL] Totaal aantal posters optellen uit meerdere tabellen

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 11-05 00:09
Ik wil vanuit meerdere tabellen samen een top 10 laten samenstellen van mensen die bericht hebben gepost. Het gaat hier om een soort van "topicstart", maar niet specifiek voor een forum, maar ook nieuws en reviews.

Nu moet ik dus deze meerdere tabellen gaan samenvoegen en ik probeerde al join, maar merkte dat dat een onverwacht resultaat gaf.
Nu gebruik ik onderstaande query:
code:
1
SELECT nieuws.door+reviews.door AS totaaldoor, count(nieuws.door+reviews.door) AS totaalaantal FROM nieuws,reviews GROUP BY totaaldoor ORDER BY totaalaantal DESC LIMIT 0,10

Het vervelende is nu echter dat ik iedere keer niet te verklaren aantalen krijg bij "totaalaantal".
Voor door=3 krijg ik bij een kele query op de tabel 'nieuws' namelijk maar 1 resultaat en op de tabel 'reviews' geen enkele, wanneer ik bovenstaande query uitvoer heeft door=3 ineens als aantal 105 bij 'totaalaantal'. :?

De tabbelen hebben allen deze kolommen identiek:
- id (int)
- door (int)

Ik zal dus een of andere voorwaarde in moeten bouwen voor het tellen gok ik. Hoe echter zou ik niet weten.

Ik zit al een half uur te worstelen met verschillende query's (veelal lijkend op de bovenstaande) en mn boek (laatste paragraven vanOriëntatie op de informatieanalyse, Databaseontwikkeling - Microsoft Access 2000, ISBN 90 395 1628 6 voor de nieuwsgierigen).

Dit stukje had ik eigenlijk als reactie in [rml][ MySQL] Top 10 reply-postsers maken voor forum[/rml] willen zetten, maar Whoami reageert niet zo snel op zn mail.

edit:
Sorry, voor layout verneuking. :P

[ Voor 5% gewijzigd door Joen op 18-04-2004 19:16 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:35

Creepy

Tactical Espionage Splatterer

Dat wat je nu doet is ook een join. Je geeft echter niet specifiek op, op welke velden er gejoint moeten worden dus krijg je een cartegiaans produkt. (ja, uit meerdere tabellen selecteren is gewoon een join, ook zonder dat je het keyword JOIN gebruikt).

Je zal met een union moeten werken, of je datamodel eens flink op de schop nemen zodat alle postings in 1 tabel komen met een type veld erbij.

Overigens is dit ook "Basic RTFM / UTFS werk" zoals whoami dat al noemt ;)

[ Voor 20% gewijzigd door Creepy op 18-04-2004 19:31 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Joen
  • Registratie: Juli 2003
  • Laatst online: 11-05 00:09
He verdorie man, het is allemaal zo knap ingewikkeld. zelfs in normaal nederlands nog. :?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:35

Creepy

Tactical Espionage Splatterer

JeroenM_tbs schreef op 18 april 2004 @ 19:56:
He verdorie man, het is allemaal zo knap ingewikkeld. zelfs in normaal nederlands nog. :?
UNION gebruiken in je SQL statement of je database anders opzetten.

Dat had je geweten als je een fatsoenlijke SQL tutorial had gedaan.

Zo simpel genoeg voor je? ;)

[ Voor 5% gewijzigd door Creepy op 18-04-2004 20:28 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Waarom kan jij gewoon het antwoord op de mail die je verstuurd hebt niet afwachten?
Wat voor nut heeft het dan nog als je me mailt.
Anyway, zie m'n reply op jouw mail, dit is gewoon een RTFM vraag.

https://fgheysels.github.io/


Dit topic is gesloten.