Avatar billede nih Novice
31. januar 2001 - 21:20 Der er 10 kommentarer og
1 løsning

SQL funktion

Hej
Findes der i SQL en funktion svarende til eks count, der samler posterne.
Eks:

SELECT res.navn, res.dato, SAMLE(res.Vagt)AS Vagter
FROM res
GROUP BY res.navn, res.dato;

Kolonen vagter skal indeholde alle tekststrenge der grupperes på.
Måske kan man lave en VBA kode, men hvor skal den anbringes. Access 97

Niels
Avatar billede repsac Nybegynder
31. januar 2001 - 22:41 #1
Der findes en funktion i SQL som hedder COUNT.
Den returnerer antallet af værdier i en eller anden kolonne eller også antallet af rækker i en table ...
Det er nok mere et \"statistisk\" funktion, hvilket nok ikke er hvad du leder efter ...

Jeg skal gerne indrømme at jeg ikke er helt med på hvad du mener ... det\'r nok mig der er lidt svag i bolden ... ;)
Avatar billede stargate Nybegynder
31. januar 2001 - 23:26 #2
Jeg forstår det heller ikke helt, men forestiller mig at det skal være noget som:

  SELECT res.Vagt AS Vagter
  FROM res
  WHERE res.navn = \'xxx\' AND
        res.dato = \'xx-xx-xx\'
  GROUP BY res.navn, res.dato

Oder was ???
Avatar billede nih Novice
01. februar 2001 - 11:40 #3
Jae jeg kan godt være lidt kringlet ;o)

Min tabel indeholder 3 felter:
dato    Navn      vagt
1/1    nih      e
1/1    nih      r
1/1    nih      d
1/1    pa        n

Jeg vil her lave en forespørgsel på således at tabellen kommer til at se således ud:
dato      navn      vagt
1/1      nih      erd
1/1      pa        n

posterne i feltet vagt skal altså \"samles\", indtil nu har jeg kombineret funktionerne first og last, men det giver kun mulighed for 2 forskellige vagter, med 3 eller flere går de midterste tabt.
Håber det er mere klart nu.

Niels
Avatar billede stargate Nybegynder
01. februar 2001 - 12:17 #4
Jeg tror ikke, at der findes en SQL funktion der kan dette. Det lyder jo lidt som om du skal rende dit resultset igennem

name$ = res.Name
dato = res.dato
vagt$ = res.vagt

res.next
Do While not EOF  \'resultset
  if res.Name = name AND res.dato = dato then
    vagt = vagt & res.vagt
  end if
  ...  \'do something
Loop

Avatar billede nih Novice
01. februar 2001 - 13:30 #5
Ja det har jeg også tænkt på, men hvis det skal være rigtig godt kan man så ikke lave en funktion, der kan anvendes i SQLsyntaksen, selv.

nih
Avatar billede stargate Nybegynder
01. februar 2001 - 13:34 #6
Tja..., umiddelbart kan jeg ikke lige se hvordan, selvom man kan lave meget i SQL, evt. med en Stored procedure.
Under alle omstændigheder vil jeg mene, at det bliver en heftig (læs: DYR) forespørgsel!
Avatar billede nih Novice
01. februar 2001 - 14:34 #7
heftig eller dyr ????? Jeg laver det jo selv, så det kan hverken være dyr eller heftig, men tit lidt kringlet underligt ;).
Tak for hjælpen, jeg lader spørgsmållet stå åben lidt endnu, hvis nogle har en god ide.
Ellers må jeg igang med (endnu) en mystisk sub-procedure

Niels
Avatar billede stargate Nybegynder
01. februar 2001 - 14:40 #8
Med heftig eller dyr menes der RESSOURCEKRÆVENDE !!!!
Avatar billede nih Novice
01. februar 2001 - 15:12 #9
Så er min PC MEGET heftig og dyr !!!!!!!!!!

nih
Avatar billede stargate Nybegynder
01. februar 2001 - 15:56 #10
^__^
Avatar billede nih Novice
05. februar 2001 - 16:45 #11
Jeg lukker og slukker
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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