-- [C6_S_Opzioni] 4,814
CREATE PROCEDURE [dbo].[C6_S_Opzioni]
@idReport as INT,
@idModello as int
AS
BEGIN
	SET NOCOUNT ON;
SELECT  descrizione, 
	C6Sezione.codice AS codiceSezione,
	A.ordine_minimo AS ordine 
FROM dbo.C6OpzioneSezione
	 INNER JOIN dbo.C6Sezione
		ON dbo.C6OpzioneSezione.idFkC6Sezione = dbo.C6Sezione.id
	INNER JOIN dbo.ReportSezionePers
		ON dbo.ReportSezionePers.IdSezione = dbo.C6OpzioneSezione.idFkSezione
		AND  dbo.ReportSezionePers.idReport = @idModello
inner join 
(SELECT  
	dbo.C6OpzioneSezione.idFkC6Sezione,
	MIN(ordine) as ordine_minimo
	FROM dbo.C6OpzioneSezione
	 INNER JOIN dbo.C6Sezione
		ON dbo.C6OpzioneSezione.idFkC6Sezione = dbo.C6Sezione.id
	INNER JOIN dbo.ReportSezionePers
		ON dbo.ReportSezionePers.IdSezione = dbo.C6OpzioneSezione.idFkSezione
		AND  dbo.ReportSezionePers.idReport = @idModello
	group by dbo.C6OpzioneSezione.idFkC6Sezione) A
ON 
	A.idFkC6Sezione = dbo.C6OpzioneSezione.idFkC6Sezione
	and a.ordine_minimo = dbo.C6OpzioneSezione.ORDINE
WHERE idFkReport = @idReport
ORDER BY ISNULL(ordine,-1) desc
END