Toon posts:

[sql]GROUP BY replyto WHERE replyto!='0'

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Tweakers,

Ik maak een zoekfunctie voor mijn forum, en nu wil ik dat er wel in de reacties gezocht wordt, maar als het trefwoord wordt gevonden in de reacties dan moet de topic tevoorschijn komen. Ik heb een veld in de tabel (ik werk met mysql) genaamd 'replyto', als deze 0 is dan is het een topic, is deze anders dan 0 dan is het een reactie. Dan is replyto het id van de topic. Een topic mag natuurlijk ook maar 1 keer tevoorschijn komen... Een oplossing zou natuurlijk zijn GROUP BY replyto WHERE replyto!='0', maar dit kan helaas niet... Nu is mijn vraag:
Hoe los ik dit op ? :)

Erik Baan

  • a casema user
  • Registratie: Januari 2000
  • Laatst online: 11-09 10:39
Het moet andersom.
eerst WHERE en dan GROUP BY

Taaaa taa taa taaaa taa taa ta taaataaaaa.


Verwijderd

Topicstarter
Dat werkt niet, ik heb namelijk al een query:

SELECT * From forum_b WHERE bericht LIKE '%$trefwoord%' AND private='0' OR onderwerp LIKE '%$trefwoord%' AND private='0' LIMIT $a, 30



Erik

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

Op zondag 23 december 2001 13:17 schreef ErikBaan het volgende:
Dat werkt niet, ik heb namelijk al een query:

SELECT * From forum_b WHERE bericht LIKE '%$trefwoord%' AND private='0' OR onderwerp LIKE '%$trefwoord%' AND private='0' LIMIT $a, 30



Erik
Tjonge jonge.. Beetje booleaanse logica jongen:


SELECT * From forum_b WHERE replyto!=0 AND private=0 AND(bericht LIKE '%$trefwoord%' OR onderwerp LIKE '%$trefwoord%') GROUP BY replyto LIMIT $a, 30

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Ik dacht meer aan zoiets:
code:
1
2
3
4
5
6
7
SELECT Topic.*
FROM forum_b Topic LEFT JOIN forum_b Reply 
     ON Topic.ID = Reply.replyto
WHERE (Reply.bericht LIKE '%$trefwoord%' 
    OR Reply.onderwerp LIKE '%$trefwoord%')
AND Reply.private='0'
GROUP BY Topic.ID

want dan heb je alle attributen van het topic i.p.v. het reply.

HTH :)