Toon posts:

SQL vraagje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben al zoveer om het aantal TRUE´s in een kolom te tellen
Met de volgende query:

code:
1
2
3
SELECT COUNT(TRUE) AS Sandra_licenties
FROM table1
WHERE Sandra=TRUE;


Nu heb ik nog een aantal kolommen waarvan ik het aantal TRUE´s wil zien.
Ik wil dus in 1 oogopslag kunnen zien het volgende:

:Sandra_licenties : Windows_licenties : Office_licenties:
:______8 ______:________ 4 ________:____ 20______:


etc.

Maar het wil niet echt lukken ... 8)7

[ Voor 16% gewijzigd door Verwijderd op 18-03-2003 10:29 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Mjah, hoe ziet je datamodel eruit?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

:| Je gaat me toch niet vertellen dat je voor iedere persoon een aparte kolom heb aangemaakt he?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
zo te zien voor iedere licensie ik zie niks over persoon ik neem hier ff aan dat sandra een programma is, want een licensie op een mens ben ik nog niet tegen gekomen.

Verwijderd

Topicstarter
Ik heb een simpele table,

Personeelsnaam | software | software | software | etc.
jan___________|__[v]____|__[ ]____|__[ ]____|
piet__________|___[ ]___|__[v]____|___[ ]___ |
harrie_________|__[v]____|__[ ]____|__[v]____|

(sorry voor de wat klote display guys)

[ Voor 48% gewijzigd door Verwijderd op 18-03-2003 10:36 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

M4rt1nvW schreef op 18 March 2003 @ 10:34:
zo te zien voor iedere licensie ik zie niks over persoon ik neem hier ff aan dat sandra een programma is, want een licensie op een mens ben ik nog niet tegen gekomen.
Ook goed, dan voor ieder programma een aparte kolom... (Principe blijft hetzelfde)

* gorgi_19 gokt een vreemd datamodel

[edit]
* gorgi_19 had gelijk.. :)

Wat dacht je van de volgende structuur:

[Tabel personen]
PersoonID
Persoonnaam
etc.

[Tabel licenties]
licentieID
Pakketnaam

[PersoonLicentie]
PersoonID
LicentieID

[ Voor 23% gewijzigd door gorgi_19 op 18-03-2003 10:36 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Er kunnen dus meerdere records zijn per persoon?

https://fgheysels.github.io/


Verwijderd

Topicstarter
zie mijn laatse reply even, dan zien jullie wat ik bedoel...

Die structuur zit helemaal vast, daar kan ik niks aan veranderen, ik moet simpelweg dus de TRUE's eruit halen. Ben niet zelf de maker van die table....

[ Voor 57% gewijzigd door Verwijderd op 18-03-2003 10:40 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 March 2003 @ 10:38:
zie mijn laatse reply even, dan zien jullie wat ik bedoel...
En zie mijn reply over het datamodel :). Je wilt een tweedimensionale matrix in een tabel proppen, wat me niet de bedoeling lijkt. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
nogmaals, tabel staat vast ik kan daar niets aan veranderen, mij is gevraagd om per kolom het aantal TRUE's te laten weergeven...

Met de bovenstaande query lukt het me om van 1 kolom het aantal TRUE's te laten zien.
Nu wil ik in datzelfde query hebben dat niet alleen van het programma 'sandra' de TRUE's geteld worden, maar van alle programma's. Dus alle kolommen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Dan zul je met subqueries aan de slag moeten gaan denk ik.

https://fgheysels.github.io/


Verwijderd

Topicstarter
kun je me een voorbeeld geven ? wijzend naar mijn query bovenin...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Heel misschien kan je een bit casten naar een integer en hier een sumfunctie op loslaten, en anders zit er niets anders op dan de methodiek van whoami. :)

Voorbeelden zijn genoeg te vinden op internet, bijvoorbeeld http://msdn.microsoft.com...dnsmart01/html/sa01j1.asp

[ Voor 34% gewijzigd door gorgi_19 op 18-03-2003 10:50 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
kunnen jullie me dat een beetje laten zien in de vorm van code ? dan kan ik daar een beetje mee stoeien...ben een beetje leeg aan het raken...

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Zoiets

code:
1
2
3
4
select naam, (select count (*) from tabel as t1 where tl1.id = tabel.id and t1.kolom1=true),
                     (select count(*) from tabel as t2 where t2.id = tabel.id and t2.anderekolom=true)
from tabel
...


uit de losse pols enzo

https://fgheysels.github.io/


Verwijderd

Topicstarter
hmmmm ik ga es even spelen....keep it c'mming guys....thanx Whaomi

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Even verder op gorgi_19's idee, dat kan je dus bijvoorbeeld zo doen (in Access in ieder geval, anders is er vast wel iets equivalents te verzinnen voor jouw DBMS):

SELECT SUM(iif(Sandra_licenties,1,0)) AS Aantal_sandra_licenties, SUM(iif(Windows_licenties,1,0)) AS Aantal_windows_licenties FROM table1;

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Verwijderd

Topicstarter
hmmm...ff zien hoor

die doe thet perfect ! thanx !

[ Voor 48% gewijzigd door Verwijderd op 18-03-2003 11:15 ]


  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 23-08 14:30

Greyfox

MSX rulez

Je moet de kant van Whaomi op.

MSX 2 rulez more


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Greyfox schreef op 18 maart 2003 @ 11:16:
Je moet de kant van Whaomi op.
Waarom? Wat is er mis met de andere methodiek?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
even een kijkje ondeer de huidige motorkap:

code:
1
2
SELECT SUM(iif(Sandra,1,0)) AS Sandra_licenties, SUM(iif(AcrobatWriter,1,0)) AS AcrobatWriter_licenties, SUM(iif(ViewNow,1,0)) AS ViewNow_licenties, SUM(iif(CognosPowerplay,1,0)) AS CognosPP_licenties, SUM(iif(OfficeXPStandard,1,0)) AS OfficeXPSta_licenties, SUM(iif(OfficeXPProfessional,1,0)) AS OfficeXPPro_licenties, SUM(IIf(OfficeXPStandarddesk,1,0)) AS OfficeXPStaDESK_licenties, SUM(iif(OfficeXPProfessionaldesk,1,0)) AS OfficeXPProDESK_licenties, SUM(iif(Project2002,1,0)) AS Project2002_licenties, SUM(iif(Access2002,1,0)) AS Access2002_licenties, SUM(iif(VisioProfessionalXP,1,0)) AS VisioProXP_licenties, SUM(iif(FrontpageXP,1,0)) AS FrontpageXP_licenties, SUM(iif(TM1,1,0)) AS TM1_licenties, SUM(iif(ZFS,1,0)) AS ZFS_licenties, SUM(iif(AciveSyncforIpaq,1,0)) AS ActiveSyncIPAQ_licenties, SUM(iif(GNSBelgium,1,0)) AS GNSbe_licenties, SUM(iif(GNSNetherlands,1,0)) AS GNSnl_licenties, SUM(iif(GNSFrance,1,0)) AS GNSfr_licenties, SUM(iif(BBSGermany,1,0)) AS BBSgermany_licenties, SUM(iif(DialupNetworkingManager,1,0)) AS DUNmanager_licenties, SUM(iif(DeutscheBank,1,0)) AS DeutscheBank_licenties, SUM(iif(NokiaDatasuite63xx,1,0)) AS NokiaDS63xx_licenties, SUM(iif(NokiaDatasuite62xx,1,0)) AS NokiaDS62xx_licenties, SUM(iif(NokiaDatasuite5100,1,0)) AS NokiaDS5100_licenties, SUM(iif(Fiberlink,1,0)) AS Fiberlink_licenties, SUM(iif(Netsupport7Manager,1,0)) AS NetSup7Manager_licenties, SUM(iif(Realplayer,1,0)) AS Realplayer_licenties, SUM(iif(MCLLink,1,0)) AS MCLLink_licenties
FROM table1;


Bedankt ATS _/-\o_

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

die iif([veld],1,0) is eigenlijk gewoon een omslachtige cast. In Access kan je ook direct een sum gebruiken. Je uitkomsten worden dan negatief. Even met -1 vermenigvuldigen en je bent er ook. Is wat efficienter dan de iif oplossing:
code:
1
SELECT -1 * SUM(Sandra) AS Sandra_licenties ...

[ Voor 4% gewijzigd door ATS op 18-03-2003 13:40 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant

Pagina: 1