Ich habe drei Tabellen: Events, Spots und Buchungen. Events hat viele Spots (Datetime) und Spots hat viele Buchungen.zwei eins zu viele Relationen - jedes Event hat viele Spots und jeder Spot hat viele Buchungen
Ich habe Spalte 'spaces' in Spots Tabelle und 'spot_id' in Buchungen Tabelle. Und in der Tabelle spots muss ich alle Räume addieren GROUP BY event_id und in Buchungen Tabelle muss ich alle Buchungen GROUP BY event_id zählen. Beide Tabellen haben event_id.
Ich brauche die Abfrage so etwas wie:
select S.event_id, sum(S.spaces), count(B.spot_id)
from spots S, bookings B
where S.event_id = B.event_id;
Ich brauche eine Ausgabe wie:
Event_id sum(Spaces) count(Bookings)
1 300 60
2 450 120
Aber wegen seiner einen zu viele Beziehung, ich Summe von Räumen falsch. wenn ich 60 Buchungen habe = 60 Zeilen, also 60 * actual-sum_of_spaces. Das liegt daran, dass ich mehrere Spots für ein einzelnes Event habe.
Wie bekomme ich die Summe der Leerzeichen von Tabellenspots, wo event_id und sametime Get von allen Buchungen erhalten event_id. Die Anzahl der Zeilen in der Tabelle "Punkte" entspricht nicht der Anzahl der Buchungszeilen.
Ich habe versucht, die obige Abfrage a Und es wird keine richtige Summe für Leerzeichen erhalten. Ich habe 62 Plätze für Event 1 und 6 Buchungen. Aber ich bekomme 438 Plätze und 24 Buchungen –
Zeigen Sie uns Daten für Ihre Tabellen, damit wir nicht raten müssen. –
Ich habe die Screenshots von beiden Tabellen hinzugefügt. Bitte sehen Sie es sich an. –