Avatar billede CRavnkilde Nybegynder
28. oktober 2010 - 13:09 Der er 3 kommentarer og
1 løsning

Select count og betingelse i samme SQL-sætning

Jeg har en database med bl.a. disse to tabeller "RoomReservation" og "Participants".

I den første tæller jeg antal værelser og den anden ser jeg efter om personen deltager (Yes eller No).

Mit script ser således ud:

strSQL="select count(*) as antal from RoomReservation where Checkin <= '"&aktueldato&"' and Checkout>'"&aktueldato&"' AND WHERE Participants.Attending='Yes';"

Men scriptet melder fejl - hvor er det jeg laver kuk i det?
Avatar billede softspot Forsker
28. oktober 2010 - 13:25 #1
Du mangler at få gjort Participants-tabellen tilgængelig i din forespørgsel. Du foretager alene et opslag i RoomReservation-tabellen og kan derfor ikke blot teste på data i Participants-tabellen.

Er der et felt som kobler rækker i Participants med en række i RoomReservation og i så fald hvilket?

Det kunne f.eks. være RoomId i Participants som pegede på hvilket rum en deltager havde reserveret og i så fald kunne din SQL se således ud:

strSQL = "" & _
    "SELECT COUNT(*) AS antal " & _
    "FROM RoomReservation rr " & _
    "INNER JOIN Participants p ON p.RoomId = rr.Id " & _
    "WHERE rr.Checkin <= '"&aktueldato&"' " & _
    "  AND rr.Checkout > '"&aktueldato&"' " & _
    "  AND p.Attending = 'Yes';"
Avatar billede CRavnkilde Nybegynder
28. oktober 2010 - 13:30 #2
Feltet - ParticipantID - optræder i begge tabeller, Softspot
Avatar billede CRavnkilde Nybegynder
28. oktober 2010 - 13:46 #3
Jeg har lavet den sådan her, Softspot:

strSQL = "" & _
    "SELECT COUNT(*) AS antal " & _
    "FROM RoomReservation " & _
    "INNER JOIN Participants ON Participants.ParticipantID = RoomReservation.ParticipantID " & _
    "WHERE RoomReservation.Checkin <= '"&aktueldato&"' " & _
    "  AND RoomReservation.Checkout > '"&aktueldato&"' " & _
    "  AND Participants.Attending = 'Yes';"

Og det ser sørme ud til at virke.
TAKKER! Læg et svar!
Avatar billede softspot Forsker
28. oktober 2010 - 13:54 #4
Velbekomme :-)
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