Я ищу данные для продажи билетов. Мне нужно увидеть все билеты по сделкам, где была применена скидка как минимум на один билет. Разрешается только одна скидка за транзакцию, хотя у нескольких билетов может быть такая скидка. (Например, скидка ААА может быть применена к 4 взрослым билетам, хотя можно приобрести больше билетов. Мне нужны данные обо всех купленных билетах, когда была использована скидка ААА.)Добавление поля к представлению на основе другой строки в группе
Конечные пользователи получат доступ к данным в представление через Excel, затем поворот и срез на основе типа скидки и даты. При создании представления, как я могу применить код скидки из одной строки билета ко всем билетам в транзакции?
SELECT
JnlTickets.TransNo,
JnlHeaders.FiscalDate,
JnlTickets.DiscNo AS DiscountNumber,
LEFT(JnlHeaders.agency,1) AS Agency,
Discounts.Name
FROM dbo.JnlHeaders (nolock)
LEFT JOIN dbo.JnlTickets (nolock)
ON dbo.JnlHeaders.TranNo=dbo.JnlTickets.TransNo
LEFT JOIN dbo.Discounts (nolock)
ON dbo.JnlTickets.DiscNo=dbo.DISCOUNTS.DiscountID
GROUP BY JnlTickets.TransNo,
JnlTickets.DiscNo,
JnlHeaders.FiscalDate,
LEFT(JnlHeaders.agency,1),
Jnltickets.coupons,
Discounts.Name
HAVING(JnlHeaders.FiscalDate BETWEEN '2012-03-07' AND '2012-03-08')
AND
(Jnltickets.transno IN (SELECT JnlTickets.TransNo
FROM JnlTickets
WHERE JnlTickets.DiscNo > '1'));