Hallo,
ich komme bei einer
SQL-Abfrage, die ich für eine Suchfunktion nutze, nicht weiter. Die Suchergebnisse zu ermitteln klappt ohne Probleme:
SQL-Code:
SELECT ad.article_id, a.title FROM articles a
LEFT JOIN articles_data ad
ON ad.article_id = a.article_id
AND ad.show_flag = 0
AND ad.active = 1
WHERE a.text LIKE '%blubb%'
OR a.title LIKE '%blubb%'
GROUP BY ad.article_id
ORDER BY ad.date DESC
ad.active kann pro
ad.article_id (diese kann mehrmals vorkommen) nur genau einmal 1 sein, dennoch benötige ich das
GROUP BY, da sonst mehrere Einträge mit gleicher
ad.article_id aufgelistet werden. Wieso auch immer.
Auf jedenfall erhalte ich dadurch meine Suchergebnisse und ich würde sagen, diese stimmen.
Nun habe ich versucht, die Anzahl der Einträge bei dem oben zurückgelieferten Ergebnis mit fast der gleichen Abfrage zu ermitteln, doch das klappt nicht. Da kommt immer ein falscher Wert heraus:
SQL-Code:
SELECT COUNT(a.article_id) as 'count' FROM articles a
LEFT JOIN articles_data ad
ON ad.article_id = a.article_id
AND ad.show_flag = 0
AND ad.active = 1
WHERE a.text LIKE '%blubb%'
OR a.title LIKE '%blubb%'
GROUP by ad.article_id
Es kann gut sein, dass ich wieder komplett falsch joine, doch ich habe die Joins eigentlich alle durchprobiert.
Was mache ich falsch?
Grüße