Avatar billede 13thsky Nybegynder
21. november 2005 - 15:43 Der er 4 kommentarer og
1 løsning

simpel forespørgsel

Jeg har en db med 2 kolonner:
RoomId | ReservationId
-----------------------
1      |            1
1      |            2
3      |            3
1      |            4
-----------------------

Dertil skal jeg bruge en forespørgsel som returnerer 1  række for hvert RoomId.
Jeg skal kunne se RoomId, antal reservationsId, og rækker i alt (count(*))

Altså således:
RoomId | Bookings | Totalbookings
-----------------------------------
1      |      3  |    4
2      |      0  |    4
3      |      1  |    4
4      |      0  |    4
-----------------------------------

Jeg har forsøgt med følgende, og det virker næsten...
SELECT    RoomId, COUNT(ReservationId) AS Bookings, count(*) as Totalbookings FROM reservations GROUP BY RoomId
Avatar billede -thomas- Nybegynder
21. november 2005 - 15:51 #1
Hvad skulle forskellen på rækker ialt og antal reservationsid være? Mener du antal rækker i hele tabellen?

SELECT roomid, COUNT(reservationsid) AS bookings FROM reservations GROUP BY roomid

burde virke. Totalbooking er så en seperat sql: SELECT COUNT(*) AS totalbookings FROM reservations
Avatar billede 13thsky Nybegynder
21. november 2005 - 16:24 #2
ja, det er jo netop det. Jeg skal have dem i én sætning - og ikke som to seperate select statements.

/13
Avatar billede arne_v Ekspert
21. november 2005 - 17:16 #3
hvis MySQL 4.1 eller 5.0:

SELECT roomid,COUNT(*),(SELECT COUNT(*) FROM reservations) FROM reservations GROUP BY roomid
Avatar billede arne_v Ekspert
31. december 2005 - 14:38 #4
OK ?
Avatar billede 13thsky Nybegynder
25. marts 2008 - 14:58 #5
takker

/13
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