﻿

-- =============================================
-- Author:		S.E.Locatelli
-- Create date: 2014.01.15
-- Description:	Recupera CodPackage dato CodItem e CodClient secondo albero decisionale
--              SOSTITUITA da fun Table-value f_getDataCodPackag in QL_Update
-- =============================================
CREATE FUNCTION [dbo].[f_getCodPackag_OLD] 
(
	@CodItem	NVARCHAR(50),
	@CodClient	NVARCHAR(50)
)
RETURNS NVARCHAR(50)
AS
BEGIN
	DECLARE @output NVARCHAR(50)
	DECLARE @trovati INT = 0
	-- setup iniziale: imposto a zero...
	SET		@output = '0'

	SELECT	@trovati = COUNT(*) FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
	IF(@trovati > 0)
		-- primo tentativo: cerco il package dato SIA cliente che ITEM
		BEGIN
			SELECT	TOP 1	@output = CodPackag
			FROM			Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
			ORDER BY		TotQta DESC
		END
	ELSE
		-- secondo tentativo: se non lo trovo cerco per SOLO ITEM
		BEGIN
			SELECT	TOP 1	@output = CodPackag
			FROM			Package2Item WHERE CodItem = @CodItem
			ORDER BY		TotQta DESC
		END
	
	RETURN @output

END


