Ich muss die folgende Ausgabe mit MySQL produzieren, die die gesamten verfügbaren Tickets berechnen kann und die gesamten Tickets verkauft für jede Veranstaltung;Wie berechnet man die Gesamtzahl der verfügbaren Tickets und die Gesamtzahl der verkauften Tickets mit MySQL?
event_id event_name start_date tickets_available tickets_sold
-------------------------------------------------------------------------
1 Test Event 1 2017-04-01 200 20
2 Test Event 2 2017-04-25 100 30
Meine Tabellen sind wie folgt;
Tabelle: Veranstaltungen
event_id user_id event_name start_date event_active
-------------------------------------------------------------------------
1 47 Test Event 1 2017-04-01 0
2 47 Test Event 2 2017-04-25 0
Tabelle: ticket_types
ticket_type_id event_id ticket_type quantity_released quantity_remaining
---------------------------------------------------------------------------
1 1 General 100 90
2 1 VIP 100 90
3 2 General 50 30
4 2 VIP 50 40
Abfrage meine SQL Hier ist so weit;
SELECT events.event_id, events.event_name, events.start_date, events.event_active,
(
SELECT SUM(ticket_types.quantity_released)
FROM ticket_types
WHERE ticket_types.event_id = events.event_id
) AS tickets_available,
(
SELECT (ticket_types.quantity_released - ticket_types.quantity_remaining)
FROM ticket_types
WHERE ticket_types.event_id = events.event_id
) AS tickets_sold
FROM events
INNER JOIN ticket_types
ON events.event_id=ticket_types.event_id
WHERE user_id = 47;
Doch dies funktioniert nicht wie die Logik für die Spalten tickets_available und tickets_sold ist falsch.
Kann mir bitte jemand mit dieser Frage helfen?
Dank für die Hilfe, Ihre Abfrage funktioniert super! – forseth31