CREATE OR ALTER PROCEDURE dbo.CharacterAttributeEvent_ListByScene @SceneID int AS BEGIN SET NOCOUNT ON; SELECT cae.CharacterAttributeEventID, cae.CharacterID, ch.CharacterName, cae.CharacterAttributeTypeID, cat.AttributeName, cae.SceneID, s.SceneNumber, s.SceneTitle, c.ChapterNumber, b.BookTitle, b.Subtitle AS BookSubtitle, cae.AttributeValue, cae.Description, cae.CreatedDate, cae.UpdatedDate FROM dbo.CharacterAttributeEvents cae INNER JOIN dbo.Characters ch ON ch.CharacterID = cae.CharacterID INNER JOIN dbo.CharacterAttributeTypes cat ON cat.CharacterAttributeTypeID = cae.CharacterAttributeTypeID INNER JOIN dbo.Scenes s ON s.SceneID = cae.SceneID INNER JOIN dbo.Chapters c ON c.ChapterID = s.ChapterID INNER JOIN dbo.Books b ON b.BookID = c.BookID WHERE cae.SceneID = @SceneID ORDER BY ch.CharacterName, cat.SortOrder, cae.CreatedDate; END; GO