-1

私は少し前に開発したソリューション、つまりチケット予約に基づいて構築しています。ここで、購入時にチケットを「保持」して、サイトにアクセスする別の顧客に販売されたように見せるための機能を追加する必要があります(二重予約を防止します)。

元のテーブルの詳細は、私の前の質問であるMySQL-イベントで販売されたチケットをカウントしようとしています。これで、ticketsテーブルにheld_untilDateTime値とpaidtinyint(bool)値が含まれるようになりました。

events.capacity - COUNT(tickets.id) AS available次のいずれかのチケットのみをカウントする必要があります。

  • paidを1にする
  • paidが0で、held_until > now()

WHEREand句を追加してみましHAVINGたが、これらはチケットが販売されていないイベントが表示されないようにします。ネストされたクエリも試してみましたが、それでもどこにも行きませんでした...

助言がありますか?

4

1 に答える 1

0

以下のように Andomar の提案されたクエリ (他のトピック) を変更します。

変化する

ON events.id = tickets.event_id

ON ( events.id = tickets.event_id AND ( tickets.paid = 1 OR tickets.held_until > now() )

必要な情報がすべて他のトピックに記載されている場合でも、関連する詳細をここで繰り返すことをお勧めします。

于 2012-06-10T00:19:03.873 に答える