私は2つのテーブル、events
とtickets
を持つデータベースを持っています。 events
テーブルにはイベントの行が含まれ、tickets
のチケットがそれぞれ販売されています。例えばMySQL - イベントで販売されたチケットを数えようとしています
、
events
------
id name capacity
1 Test 10
2 Test2 20
3 Test3 15
tickets
-------
id event_id customer_id
1 1 (value here doesn't matter)
2 1
3 3
4 1
5 3
だから私は、イベント#1から3枚のまでのチケットは、イベント#2に、0のチケットを販売してきた、とイベント#3から2枚のチケットが販売されていることがわかります。
すべてのイベントを選択するクエリと、チケット容量より少ないイベント容量である列available
を作成しようとしています。
私はこのクエリを持っている:
SELECT
events.id,
events.name,
events.capacity,
events.capacity - COUNT(tickets.id) AS available
FROM
events
INNER JOIN tickets ON events.id = tickets.event_id
しかし、これはチケットはまだ販売されてやりなさいすべてのイベントを返しません。私はそれが参加のタイプかもしれないと思ったが、成功しなかった様々なものを試した。
どこが間違っているのか分かりません。
ありがとう、ありがたいです。左への参加を試してみましたが、追加したときにそれを機能させる部分でグループを逃しました。 – Josh