私はチケット販売のデータを見ています。取引でのチケットをすべて確認する必要があります。この場合、に少なくとも1つのチケットが割引されています。 1回の取引につき1回のディスカウントしかできませんが、複数のチケットにディスカウントがある場合があります。 (たとえば、AAA割引は最大4枚の大人のチケットに適用できますが、さらに多くのチケットを購入することができます)AAAディスカウントを使用したときに購入されたすべてのチケットのデータが必要です)グループ内の別の行に基づくビューへのフィールドの追加
エンドユーザーは、 Excelを介したビュー、割引タイプと日付に基づくピボットとスライスビューを作成する際に、1つのチケット行のディスカウントコードをトランザクションのすべてのチケットに適用するにはどうすればよいですか?それを行うための方法の
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'));