[MySQL] geen result wanneer count(*) == 0?

Pagina: 1
Acties:

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Topicstarter
Database:

------------------
items
itemID (PK)
itemTypeID (-> itemTypes.itemTypeID)
(...)
------------------
itemTypes
itemTypeID
itemType
------------------


Nou wil ik een lijst hebben van alle itemTypes, en daarbij hoeveel items er van dat type aanwezig zijn, ook dat aantal 0 is.

Nou had ik zoiets van "deze query moet wel werken":
code:
1
2
3
4
5
6
7
8
9
10
SELECT     t1.itemTypeID,
         t1.itemType,
         count(*)

  FROM     items as t2,
         itemTypes as t1

  WHERE    t1.itemTypeID=t2.itemTypeID 

  GROUP BY t2.itemTypeID

Werkt (uiteraard), maar het lullige is, dat ik op deze manier geen row terugkrijg wanneer er 0 items van dat bepaalde itemTypeID zijn...

Ik heb al wat andere dingen geprobeerd, maar echt verder kom ik er niet mee.

Is dit wel mogelijk in 1 query? Zo ja, hoe?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Als Nielsz het zichzelf een beetje goed heeft geleerd, dan sta ik niet voor lul als ik nu left join fluister.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Topicstarter
Je staat niet gauw voor lul, bij mij, Nielsz ;) :P

Volgens mij is er alleen maar een syntactisch verschil tussen left join, en het gebruik van komma's (=inner join) :?

edit:
Of ik doe iets grondig fout:
code:
1
2
3
4
5
6
7
8
9
SELECT     itemTypes.itemType,
           itemTypes.itemTypeID,
           count(*) 

FROM         items 
LEFT JOIN   itemTypes 
ON       itemTypes.itemTypeID=items.itemTypeID 

GROUP BY     items.itemTypeID;

:? :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • tomato
  • Registratie: November 1999
  • Niet online
Op woensdag 17 oktober 2001 13:55 schreef drm het volgende:
Volgens mij is er alleen maar een syntactisch verschil tussen left join, en het gebruik van komma's (=inner join) :?
Error on line 1 near 'syntactisch': expected 'functioneel'

Kijk de manual er eens op na of lees een SQL boek ;)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Topicstarter
Op woensdag 17 oktober 2001 14:17 schreef tomato het volgende:

[..]

Error on line 1 near 'syntactisch': expected 'functioneel'

Kijk de manual er eens op na of lees een SQL boek ;)
Ik had gehoopt dat jij het me uit ging leggen :P

ff zonder dollen: ik begrijp er niet veel van. Hoe moet ik die LEFT JOIN nou toepassen, en wat is het fundamentele verschil met INNER JOIN :?

And I already RTFM :P


edit:
ben er uit

dit wordtem:
code:
1
2
3
4
5
6
7
8
9
select     itemTypes.*,
         items.*, 
         COUNT(items.itemTypeID) 

FROM     itemTypes 
LEFT JOIN  items 
USING   (itemTypeID) 

GROUP BY   itemTypes.itemTypeID

Iig bedankt voor het op het goede spoor zetten!

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Sure. Anytime :)
Pagina: 1