Avatar billede lip Nybegynder
19. april 2000 - 14:26 Der er 13 kommentarer og
4 løsninger

Count

Jeg har følgende sql kald:
countSql = "SELECT COUNT(*) AS antal FROM T_Users WHeRE (Firma <> '')";

Avatar billede lip Nybegynder
19. april 2000 - 14:29 #1
Ups jeg kom til at klikke på enter, så jeg fik ikke spørgsmålet med, det kommer her.

Sqlen virker som sådan godt nok, det jeg får er antallet på hvor mange firmaer jeg har i databasen også selvom der er gengangere.
Det jeg vil have er at den kun skal tælle en gang for hver firma, jeg ved man bruger SELECT DISTINCT i et alm kald, men det kan jeg vel ikke bruge her.
Jeg er villig til at give flere point, det nåede jeg nemlig heller ikke at sætte.
Lip
Avatar billede sone Nybegynder
19. april 2000 - 14:40 #2
SELECT COUNT(*) FROM (SELECT DISTINCT firma FROM T_Users WHERE Firma<>'')
Avatar billede lip Nybegynder
19. april 2000 - 14:46 #3
Jeg skriver dette:
countSql = "SELECT COUNT(*) FROM (SELECT DISTINCT firma FROM T_Users WHeRE (Firma <> '')) ;"
og får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access 97 Driver] Syntax error in FROM clause.
Avatar billede sone Nybegynder
19. april 2000 - 14:48 #4
Du har husket 2 ' x efter <> (det er en fejl i eksperten.dk)
Avatar billede lip Nybegynder
19. april 2000 - 14:49 #5
ja, jeg har
Avatar billede vittoriani Nybegynder
19. april 2000 - 15:08 #6
syntax er: SELECT COUNT (DISTINCT xxx) FROM yyy
Avatar billede sjensen Nybegynder
19. april 2000 - 15:12 #7
lip (og vittoriani),

syntaxen er

select distinct count(*) from xxx where xxx
Avatar billede dannymoeller Nybegynder
19. april 2000 - 15:15 #8
Sjensen,

nej det er SELECT COUNT (DISTINCT xxx) FROM yyy WHERE xxx

hvor xxx er det samme.
Avatar billede lip Nybegynder
19. april 2000 - 15:19 #9
Jeg har forsøgt med dette;
"SELECT COUNT (DISTINCT Firma) FROM T_Users WHeRE (Firma <> '') AND (T_Users.EjVis=FALSE);"

Og får følgende fejl
Microsoft][ODBC Microsoft Access 97 Driver] Syntax error (missing operator) in query expression 'COUNT (DISTINCT Firma)'.

?
lip
Avatar billede vittoriani Nybegynder
19. april 2000 - 15:20 #10
I dette tilfælde --> SELECT COUNT (DISTINCT Firma) AS antal FROM T_Users WHERE Firma<>""

Avatar billede dannymoeller Nybegynder
19. april 2000 - 15:23 #11
Ja og hvis der er en where clause skal det være noget der selectes.
Så jeg ville prøve med vittorani' s eksempel.
Avatar billede lip Nybegynder
19. april 2000 - 15:26 #12
Vittoriani
Jeg har forsøgt dit eks men får stadigvæk samme fejl
Syntax error (missing operator) in query expression 'COUNT (DISTINCT Firma)'.

?
Avatar billede vittoriani Nybegynder
19. april 2000 - 15:31 #13
Så er det et Access problem! - det virker fint med MS SQL server
Avatar billede lip Nybegynder
19. april 2000 - 15:34 #14
Denne sql virker fint
countSql = "SELECT COUNT(*) AS antal FROM T_Users WHERE (Firma <> '') AND (T_Users.EjVis=FALSE);"

så hvorfor skulle der være noget galt med Access.
lip
Avatar billede dannymoeller Nybegynder
19. april 2000 - 15:36 #15
Jeg har lige prøvet at køre en Query magentil op mod en SQL-DB, og det virkede fint
Her er den

SELECT COUNT(DISTINCT (mitnavn))
FROM minTabel
WHERE mitnavn != ''
Avatar billede vittoriani Nybegynder
19. april 2000 - 15:37 #16
Det skal jeg ikke kunne sige, men det virker med MS SQL server - jeg har lige lavet et eksempel
Avatar billede lip Nybegynder
28. april 2000 - 09:47 #17
Tak for hjælpen alle sammen, jeg har dog ikke fået det til at virke men jeres svar var meget hjælpsomme.
lip
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
Kurser inden for grundlæggende programmering

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