Toon posts:

[Access/SQL-query] Overzicht softwaregebruik

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met het opzetten van een licentiebeheer database in Access.
Het probleem waar ik nu tegenaan loop is het berekenen van het aantal licenties dat in gebruik is.

Mijn tabellen:
tblSoftware
software_id
software_naam
software_serialwin
software_serialmac
software_serialother
software_aantal


tblGebruiker
gebruiker_id
gebruiker_voornaam
gebruiker_achternaam


tblComputer
computer_id
computer_naam


En de koppeltabel:

tblSoftwaregebruik
software_id
gebruiker_id
computer_id
datum_geinstalleerd


Nu wil ik een query opzetten die alle software laat zien met daarachter het aantal aangeschaft licenties en het aantal licenties die in gebruik zijn.
Dus:
tblSoftware.software_naamtblSoftware.software_aantallicenties_in_gebruik (berekening)


Zoals ik het zie moet er dus bij elk record in tblSoftware een COUNT() worden gedaan in de tabel tblSoftwaregebruik... maar hoe krijg je dat voor elkaar. Het is wazig in mn hoofd...
Gaat dit via een subquery?

Wie kan mij iets verder helpen...

Verwijderd

Topicstarter
Het begin is volgens mij (mits ik alle software wil laten zien, dus incl. software die niet in gebruik is):

code:
1
2
3
SELECT software_naam, software_aantal
FROM tblSoftware
WHERE software_id IN (SELECT software_id FROM tblSoftwaregebruik);


Nu moet het aantal dat in gebruik is er nog achter.

[ Voor 15% gewijzigd door Verwijderd op 11-04-2007 15:06 ]


  • ksmedts
  • Registratie: Januari 2002
  • Laatst online: 16-12-2021
code:
1
2
3
4
SELECT tblSoftware.software_naam, tblSoftware.software_aantal, count(tblsoftwaregebruik.software_id)
FROM tblSoftware, tblSoftwaregebruik
WHERE tblSoftware.software_id =tblsoftwaregebruik.software_id
GROUP BY tblSoftware.software_naam, tblSoftware.software_aantal


volgens mij moet je zoiets hebben.....

Heb zelf nog ff gekeken in access, dan maakt ie er het onderstaande van
code:
1
2
3
SELECT tblSoftware.software_naam, tblSoftware.software_aantal, Count(tblSoftwaregebruik.software_id) AS AantalVansoftware_id
FROM tblSoftware INNER JOIN tblSoftwaregebruik ON tblSoftware.software_id = tblSoftwaregebruik.software_id
GROUP BY tblSoftware.software_naam, tblSoftware.software_aantal;

ze werken alle twee ik weet niet welke van de twee uiteindelijk sneller zal zijn, iemand hier ideeën over?

[ Voor 52% gewijzigd door ksmedts op 11-04-2007 15:18 ]


Verwijderd

Topicstarter
Bedankt! Dit is inderdaad wat ik zocht.
Zal zelf proberen een complete lijst met alle software te krijgen met daarachter het aantal licenties in gebruik.
En dan de applicatie verder verbeteren... ;)