Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 14:52 Der er 11 kommentarer og
1 løsning

Select og Count

Hej Eksperter.

Jeg er lige begyndt at sidde og rode med MS SQL, jeg har ikke nogen erfaring med det, så jeg undskylder hvis mit spørgsmål ikke er formuleret ordentligt.

Mit problem er at få de rigtige data ud og præsenteret korrekt i et mit datagridview.

Jeg har en tabel hvor der jeg vil trække data ud af kollonne 1 og 3. Det jeg har brug for er, at tælle hvor mange gange et navn opstår i kollonne 1 og derefter tælle hvor mange gange der står noget i kollonne 3 med navnet fra kollonne 1. Det vil jeg gerne have ud i et datagridview, så der kommer noget i retningen af: Navn - hvor mange gange navnet optræder - hvor mange gange der i kollonne 3 står noget med nacvn fra kollonne 1.

Jeg ved det sikkert er kringlet spurgt, men da jeg er ny og ikke rigtig inde i "sproget" er det det bedste jeg formår. Spørg endelig hvis der er ting der skal afklares yderligere.

Jeg går ud fra jeg skal bruge noget Select og Count, men jeg er altså helt på spanden hvordan jeg får strengen skruet sammen.
Avatar billede dr_chaos Nybegynder
01. marts 2007 - 15:00 #1
måske:
SELECT COUNT(kollonne1),COUNT(kollonne3),COUNT(kollonne1=kollonne3) FROM tabel
GROUP BY kollonne1,kollonne3
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 15:30 #2
Tak for den hurtige respons. SQL læder til at være dejligt, når man lærer at gennemskue det :o)
Jeg har brugt følgende: SELECT COUNT(kollonne1),COUNT(kollonne3) FROM tabel
GROUP BY kollonne1,kollonne3

Det kommer fint frem i mit datagridview med hvor mange gange en enkelt post i kollonne et opstår og hvor mange gange der er noget i kollonne 3, men jeg kan ikke få vist at X opstår Y gange i kolonne 1. Feks. hvis 10 opstår 8 gange i kolonne 1 skal der gerne stå 10 - 8 . Lige nu står der blot 8.

Gør jeg mig forståelig?
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 15:33 #3
Og det skal selvføægelig blot gøres med en almindelig select.....

dr. Chaos. Tak for at sætte mig på rette spor. Du får en håndfuld point :o)
Avatar billede dr_chaos Nybegynder
01. marts 2007 - 15:46 #4
svar :)
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 15:52 #5
Åhhh og jeg som troede jeg havde den.

"SELECT interviewer, COUNT (interviewer) as 'Rekrutterede', COUNT(Fremmøde) as 'Fremmødte' FROM Kvoteskema WHERE ProjektID='" + textBox1.Text + "' GROUP BY interviewer, Fremmøde"

Dette er strengen jeg benytter, men det er der skal kun tælles Fremmøde, hvis der i Fremmøde feltet står JA. Hvor kan jeg sætte min Where Fremmøde = JA ind, så der i "Fremmødte" kun kommer det antal gange der står JA?
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 16:11 #6
Jeg har prøvet at sætte AND Fremmøde = 'ja' i min Where, men det er noget stads, kan jeg ikke sætte en Where klausul ind i min caount parantes?
Avatar billede dr_chaos Nybegynder
01. marts 2007 - 16:11 #7
COUNT(CASE Fremmøde WHEN 'JA' THEN 1 ELSE null END ) as 'Fremmødte'
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 16:39 #8
Og et problem løst skaber åbenbart et nyt. Nu optræder min interviewer flere gange i mit datagridview, hvis der i Fremmøde står Ja. Ellers virkede det perfekt med din løsning. 1000 tak.

Hvorfor opstår mine interviewere flere gange? Kan de ikke "samles" på en måde?
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 17:06 #9
Ja sagt på en anden måde, står der andet end JA f.eks NEJ i kolonne Fremmøde, så får interviewer en ny linje, kan man ikke samle alle informationerne på én linje for hver interviewer?
Avatar billede dr_chaos Nybegynder
01. marts 2007 - 18:17 #10
prøv at fjerne group by Fremmøde
Avatar billede bjarkebundgaard Nybegynder
01. marts 2007 - 19:40 #11
That did the fucking trick. 1000 Tak for hjælpen. Har du evt. noget litteratur du kan anbefale hvor man kan læse om denne slags løsninger og problemstillinger?
Avatar billede dr_chaos Nybegynder
01. marts 2007 - 19:53 #12
hmm ikke rigtigt.
Jeg har det hele i hovedet ellers bruger jeg google.
Jeg bruger nogle gange http://msdn2.microsoft.com/en-us/library/ms190349.aspx

Np btw :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester