Kan någon förklara dessa två mysql anropen, som jag hittat här
http://www.pui.ch/phred/archives/200...e-schemas.html
PHP-kod:
SELECT b.*
FROM tagmap bt, bookmark b, tag t
WHERE bt.tag_id = t.tag_id
AND (t.name IN ('bookmark', 'webservice', 'semweb'))
AND b.id = bt.bookmark_id
GROUP BY b.id
HAVING COUNT( b.id )=3
och
PHP-kod:
SELECT b.*
FROM tagmap bt, bookmark b, tag t
WHERE bt.tag_id = t.tag_id
AND (t.name IN ('bookmark', 'webservice', 'semweb'))
AND b.id = bt.bookmark_id
GROUP BY b.id
I första exemplet är det meningen att vi ska hämta ut bookmarks med taggarna bookmark och webservice och semweb och i andra skall vi hämta bookmarks med bookmark eller webservice eller semweb.
Men vid tester så gör exempel ett samma sak som exempel 2 skall göra, jag hittar alltså resultat oavsett om alla tre eller bara en av dem finns som tag.
Vad gör t.ex. GROUP BY b.id HAVING COUNT( b.id )=3 för skillnad?
Om någon är villig att förklara båda exemplen skulle jag bli glad.