Avatar billede loopstudio Nybegynder
05. marts 2004 - 10:37 Der er 16 kommentarer og
1 løsning

Hvordan laver jeg en COUNT(Tabel.Felt) i mySQL?

Hej, jeg har en forespørgsel fra MS Access som jeg gerne vil have oversat til mySQL:

SELECT Count(Tabel.ID) AS AntalOfTabel, Tabel.profilID FROM Tabel WHERE Tabel.slettet=False GROUP BY Tabel.profilID HAVING Tabel.profilID=100;

Hvordan laver jeg det i mySQL?
PS: jeg udfører det som en SQLstreng fra .ASP.

på forhånd tak
Avatar billede arne_v Ekspert
05. marts 2004 - 10:45 #1
Den virker ikke som den er ?
Avatar billede arne_v Ekspert
05. marts 2004 - 10:46 #2
Umiddelbart ser det ud som pæn standard SQL.

Jeg ville nok erstatte:

Tabel.slettet=False

med:

NOT Tabel.slettet

men det er nok bare mig
Avatar billede loopstudio Nybegynder
05. marts 2004 - 10:54 #3
Den siger:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties.

Og hvis jeg prøver i myPHPAdmin, så laver den ordet COUNT() rødt.
Avatar billede kelo Nybegynder
05. marts 2004 - 11:08 #4
Er det mig eller har du 2 id'er? du bruger profilid og id i count.
Avatar billede loopstudio Nybegynder
05. marts 2004 - 11:10 #5
ja, der er både "ProfilID" og "ID", men de refererer til 2 forskellige ting! *s*

PS: Forespørgslen virker fint i/op imod MS Access!
Avatar billede kelo Nybegynder
05. marts 2004 - 11:12 #6
og slettet hvad format har den, bit?
Avatar billede loopstudio Nybegynder
05. marts 2004 - 11:12 #7
Jeg har læst i dokumentationen på mySQL.com at der er noget der hedder "SQL_CALC_FOUND_ROWS".
Er det sådan at jeg skal bruge det i stedet, når man snakker mySQL?
Og i så fald, er der nogen der kan give et kodeeksempel?
Avatar billede loopstudio Nybegynder
05. marts 2004 - 11:16 #8
"Slettet" har typen: "tinyint(4)".
Det er myAccess programmet der har valgt de nye mySQL datatyper for mig!
Avatar billede loopstudio Nybegynder
05. marts 2004 - 11:31 #9
kelo:

Jeg kan for øvrigt ikke vælge nogen datatype i PHPmyAdmin for mySQL der hedder "bit"!
Avatar billede kelo Nybegynder
05. marts 2004 - 11:31 #10
prøv test på 0 og 1 istedet for
Avatar billede loopstudio Nybegynder
05. marts 2004 - 11:37 #11
ok, det vil jeg prøve,
MEN kan man ændre til noget andet, så man kan teste på TRUE and FALSE?
Avatar billede kelo Nybegynder
05. marts 2004 - 12:11 #12
Jeg fandt et sted der sagde at datatype skal være = enum('1', '0')
Avatar billede loopstudio Nybegynder
05. marts 2004 - 13:25 #13
HOV, hvor blev mit svar af!??
Eksperten har "glemt" at indsætte mit svar, som jeg sendte!

Nå, men tak begge to! Jeg har nu fundet ud af at den bedste løsning er at søge på slettet og NOT slettet, fordi det er den mest generiske kode, som kan anvendes på både MS Access og mySQL! Jeg bibeholder min tinyint datatype, men sætter den nok til tinyint(1).

I kan evt. begge oprette et svar, så kan I dele pointene! ;o)
Avatar billede loopstudio Nybegynder
05. marts 2004 - 13:26 #14
PS: den typecaster selv tinyint 0 til at være et falsk udtryk og tinyint 1 til at være et sandt udtryk! ;o)
Avatar billede kelo Nybegynder
05. marts 2004 - 13:28 #15
Ta' du og behold dine point når du ikke har brugt mit forslag og selv fandt en bedre løsning :o)
Avatar billede arne_v Ekspert
05. marts 2004 - 18:50 #16
Hvis du har brugt NOT slettet så ...
Avatar billede arne_v Ekspert
21. marts 2004 - 20:48 #17
Lukke tid ?
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