
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date, ,>
-- Description:	<Description, ,>
-- =============================================
ALTER FUNCTION [dbo].[getSectionForDTP] 
(
	-- Add the parameters for the function here
	@titleId INT,
	@sectionId int,
	@dzialId int = NULL
)
RETURNS varchar(10)
AS
BEGIN
	-- Declare the return variable here
DECLARE @grzbiet varchar(10)
DECLARE @unknownGrzbiet varchar(10)
SET @unknownGrzbiet ='-?-'


IF @dzialId IS NULL
BEGIN
	-- jesli nie podany dzial to szukaj tylko po grzbietach
	SELECT @grzbiet = P.Name  FROM MapowanieGrzbietow M
	INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
	INNER JOIN Grzbiety G ON G.Id = M.NowyId
	WHERE P.TitleId=@titleId
	AND Typ='G'
	AND G.Id=@sectionId 
END
ELSE
BEGIN
	-- szukaj najpierw po grzbietach
	SELECT @grzbiet = P.Name  FROM MapowanieGrzbietow M
	INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
	INNER JOIN Grzbiety G ON G.Id = M.NowyId
	WHERE P.TitleId=@titleId
	AND Typ='G'
	AND G.Id=@sectionId 

	
	IF @grzbiet IS NULL
	BEGIN
		-- jesli nie znaleziono w poprzednim kroku to szukaj po dziale
		SELECT @grzbiet = P.Name FROM MapowanieGrzbietow M
		INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
		INNER JOIN Dzial D ON D.Id = M.NowyId
		WHERE P.TitleId=1
		AND Typ='D'
		AND M.NowyId = @dzialId
	END
END

IF @grzbiet IS NULL
	SET @grzbiet = @unknownGrzbiet

RETURN @grzbiet

END
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

