Ich habe drei Tabellen: - Zimmer: Informationen über Zimmer - Betten: Informationen über jedes Bett im Zimmer (Typ, ...) mit roomId auf Raum verknüpft - Zuteilungen: info über die Anzahl der Betten in einem zugewiesenen Zimmer eine Liste mit der Anzahl der Betten und Anzahl der zugeordneten Betten in einem RaumMehrere Abfragen benötigt?
Proben zu einer Gruppe (2 Gruppen in einem Raum möglich)
ich mag:
SELECT
COUNT(beds.id) AS beds
FROM rooms
JOIN beds ON rooms.id=beds.roomID
WHERE rooms.id='124'
die Anzahl der Betten gibt im Zimmer (8).
SELECT
SUM(requestsAllocations.bedsAllocated) AS allocated,
from rooms
join requestsAllocations on requestsAllocations.roomID=rooms.id
where rooms.id='124'
gibt mir die Anzahl der zugeordneten Betten im Zimmer: 7 (1 + 6)
SELECT
COUNT(beds.id) AS beds,
SUM(requestsAllocations.bedsAllocated) AS allocated
FROM rooms
JOIN requestsAllocations ON requestsAllocations.roomID=rooms.id
JOIN beds ON rooms.id=beds.roomID
WHERE rooms.id='124'
gibt mir:
beds | allocated
----------------
16 | 56
- 16 Betten (Anzahl zweimal wegen 2 Datensätze in Zuordnungstabelle)
- 56 zugewiesene Betten (7 * 8 = 56)
Wie kann ich eine Abfrage erstellen, um korrekte Ergebnisse zu erhalten?
beds | allocated
----------------
8 | 7
Vielen Dank!