Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка количества используя JOIN  [new]
deadwalker
Member

Откуда:
Сообщений: 2
Таблица Films(список фильмов):
CREATE TABLE [dbo].[Tickets](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[schedule_id] [int] NULL,
	[row] [int] NULL,
	[place] [int] NULL,
	[last_status_id] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[id] ASC
)


Таблица FilmsSchedule(расписание фильмов):
CREATE TABLE [dbo].[FilmsSchedule](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[film_id] [int] NULL,
	[date] [datetime] NULL,
	[hall_id] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[id] ASC
)


Таблица Tickets(список билетов):
CREATE TABLE [dbo].[Tickets](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[schedule_id] [int] NULL,
	[row] [int] NULL,
	[place] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[id] ASC
)


Таблица TicketsHistory(история операций для билета, сначала забронирован потом куплен и т.д)
CREATE TABLE [dbo].[TicketsHistory](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[ticket_id] [int] NULL,
	[status_id] [int] NULL,
	[date] [datetime] NULL,
PRIMARY KEY CLUSTERED 
(
	[id] ASC
)


Билет был куплен если последний статус status_id = 2
Необходимо выбрать фильм используя JOIN, на который было куплено больше всего билетов(т.е фильм для которого в таблице TicketsHistory есть больше всего записей с status_id = 2)

Спасибо!
10 ноя 16, 20:01    [19880728]     Ответить | Цитировать Сообщить модератору
 Re: Выборка количества используя JOIN  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21249
Свалить всё в кучу (JOIN), отобрать только нужное (WHERE), посчитать количество (GROUP BY + COUNT), и взять максимальное (ORDER BY + TOP 1).
10 ноя 16, 20:30    [19880820]     Ответить | Цитировать Сообщить модератору
 Re: Выборка количества используя JOIN  [new]
deadwalker
Member

Откуда:
Сообщений: 2
Akina,

к сожалению я не знаю как написать такой сложный запрос(
10 ноя 16, 22:30    [19881036]     Ответить | Цитировать Сообщить модератору
 Re: Выборка количества используя JOIN  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
deadwalker
Akina,

к сожалению я не знаю как написать такой сложный запрос(
Не надо было лекции прогуливать.
11 ноя 16, 00:03    [19881316]     Ответить | Цитировать Сообщить модератору
 Re: Выборка количества используя JOIN  [new]
Massa52
Member

Откуда:
Сообщений: 388
В первом скрипте вместо таблицы [Films] - таблица [Tickets].
11 ноя 16, 13:18    [19882858]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить