Visa ett inlägg
Oläst 2010-01-17, 19:57 #1
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Standard MySQL förklaring på Intersection och Union

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 btbookmark btag 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 )=
och

PHP-kod:
SELECT b.*
FROM tagmap btbookmark btag 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.

Senast redigerad av grinditwp den 2010-01-17 klockan 20:00
grinditwp är inte uppkopplad   Svara med citatSvara med citat