希望有人可以帮助解决我在 oracle 中构建查询时遇到的问题。
我是oracle的新手,尽管我对sql知之甚少-
这是一个电影院预订系统场景 - 我试图让下面的 sql 输出一行,这是在特定电影院中为特定表演售出的门票总数。虽然它列出了所有 12 次出现,但我已经得到了如下信息,当我想说 12 票已售出等时。
我最初在查询生成器中构建了它,然后手动添加了计数和分组。
任何想法都非常感谢我如何实现这一目标,或者我可能会出错的地方。
感谢您的关注。
select count(ticket.ticket_id) as tickets_sold, "PERFORMANCE"."PERFORMANCE_DATE" as "PERFORMANCE_DATE",
"FILM"."FILM_TITLE" as "FILM_TITLE",
"TICKET"."TICKET_ID" as "TICKET_ID",
"CINEMA"."LOCATION" as "LOCATION",
"PERFORMANCE"."PERFORMANCE_TIME" as "PERFORMANCE_TIME"
from "TICKET" "TICKET",
"RESERVATION" "RESERVATION",
"PERFORMANCE" "PERFORMANCE",
"RUN" "RUN",
"SCREEN" "SCREEN",
"CINEMA" "CINEMA",
"FILM" "FILM"
where "PERFORMANCE"."PERFORMANCE_ID"="RESERVATION"."PERFORMANCE_ID"
and "PERFORMANCE"."RUN_ID"="RUN"."RUN_ID"
and "RUN"."FILM_ID"="FILM"."FILM_ID"
and "RUN"."SCREEN_ID"="SCREEN"."SCREEN_ID"
and "SCREEN"."CINEMA_ID"="CINEMA"."CINEMA_ID"
and "TICKET"."RESERVATION_ID"="RESERVATION"."RESERVATION_ID"
and "PERFORMANCE"."PERFORMANCE_DATE" ='1-mar-09'
and "FILM"."FILM_TITLE" ='PIRATES OF THE CARIBBEAN - AT WORLDS END'
and "CINEMA"."LOCATION" ='bradfordeast'
and "PERFORMANCE"."PERFORMANCE_TIME" ='20:00' group by reservation.performance_id, performance.performance_date, film.film_title, ticket.ticket_id,cinema.location, performance.performance_time order by tickets_sold DESC;
输出:
TICKETS_SOLD PERFORMANCE_DATE FILM_TITLE TICKET_ID LOCATION PERFORMANCE_TIME
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 485 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 488 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 484 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 491 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 493 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 495 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 489 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 487 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 490 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 492 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 494 bradfordeast 20:00
1 01-MAR-09 PIRATES OF THE CARIBBEAN - AT WORLDS END 486 bradfordeast 20:00