ALTER FUNCTION [dbo].[getPlanning] ( -- Add the parameters for the function here @date Datetime ) RETURNS TABLE AS RETURN ( -- Add the SELECT statement with parameter references here SELECT distinct max (case (s.id) when 1 then s.secteur end) [Z1], max (case (s.id) when 1 then ( case (p.heure) when 10 then p.lieu end ) end) [Z1_10_L], max (case (s.id) when 1 then ( case (p.heure) when 10 then p.client end ) end) [Z1_10_C], max (case (s.id) when 1 then ( case (p.heure) when 11 then p.lieu end ) end) [Z1_11_L], max (case (s.id) when 1 then ( case (p.heure) when 11 then p.client end ) end) [Z1_11_C], max (case (s.id) when 1 then ( case (p.heure) when 12 then p.lieu end ) end) [Z1_12_L], max (case (s.id) when 1 then ( case (p.heure) when 12 then p.client end ) end) [Z1_12_C], max (case (s.id) when 1 then ( case (p.heure) when 13 then p.lieu end ) end) [Z1_13_L], max (case (s.id) when 1 then ( case (p.heure) when 13 then p.client end ) end) [Z1_13_C], max (case (s.id) when 1 then ( case (p.heure) when 14 then p.lieu end ) end) [Z1_14_L], max (case (s.id) when 1 then ( case (p.heure) when 14 then p.client end ) end) [Z1_14_C], max (case (s.id) when 1 then ( case (p.heure) when 15 then p.lieu end ) end) [Z1_15_L], max (case (s.id) when 1 then ( case (p.heure) when 15 then p.client end ) end) [Z1_15_C], max (case (s.id) when 1 then ( case (p.heure) when 16 then p.lieu end ) end) [Z1_16_L], max (case (s.id) when 1 then ( case (p.heure) when 16 then p.client end ) end) [Z1_16_C], max (case (s.id) when 1 then ( case (p.heure) when 17 then p.lieu end ) end) [Z1_17_L], max (case (s.id) when 1 then ( case (p.heure) when 17 then p.client end ) end) [Z1_17_C], max (case (s.id) when 1 then ( case (p.heure) when 18 then p.lieu end ) end) [Z1_18_L], max (case (s.id) when 1 then ( case (p.heure) when 18 then p.client end ) end) [Z1_18_C], max (case (s.id) when 2 then s.secteur end) [Z2], max (case (s.id) when 2 then ( case (p.heure) when 10 then p.lieu end ) end) [Z2_10_L], max (case (s.id) when 2 then ( case (p.heure) when 10 then p.client end ) end) [Z2_10_C], max (case (s.id) when 2 then ( case (p.heure) when 11 then p.lieu end ) end) [Z2_11_L], max (case (s.id) when 2 then ( case (p.heure) when 11 then p.client end ) end) [Z2_11_C], max (case (s.id) when 2 then ( case (p.heure) when 12 then p.lieu end ) end) [Z2_12_L], max (case (s.id) when 2 then ( case (p.heure) when 12 then p.client end ) end) [Z2_12_C], max (case (s.id) when 2 then ( case (p.heure) when 13 then p.lieu end ) end) [Z2_13_L], max (case (s.id) when 2 then ( case (p.heure) when 13 then p.client end ) end) [Z2_13_C], max (case (s.id) when 2 then ( case (p.heure) when 14 then p.lieu end ) end) [Z2_14_L], max (case (s.id) when 2 then ( case (p.heure) when 14 then p.client end ) end) [Z2_14_C], max (case (s.id) when 2 then ( case (p.heure) when 15 then p.lieu end ) end) [Z2_15_L], max (case (s.id) when 2 then ( case (p.heure) when 15 then p.client end ) end) [Z2_15_C], max (case (s.id) when 2 then ( case (p.heure) when 16 then p.lieu end ) end) [Z2_16_L], max (case (s.id) when 2 then ( case (p.heure) when 16 then p.client end ) end) [Z2_16_C], max (case (s.id) when 2 then ( case (p.heure) when 17 then p.lieu end ) end) [Z2_17_L], max (case (s.id) when 2 then ( case (p.heure) when 17 then p.client end ) end) [Z2_17_C], max (case (s.id) when 2 then ( case (p.heure) when 18 then p.lieu end ) end) [Z2_18_L], max (case (s.id) when 2 then ( case (p.heure) when 18 then p.client end ) end) [Z2_18_C], max (case (s.id) when 3 then s.secteur end) [Z3], max (case (s.id) when 3 then ( case (p.heure) when 10 then p.lieu end ) end) [Z3_10_L], max (case (s.id) when 3 then ( case (p.heure) when 10 then p.client end ) end) [Z3_10_C], max (case (s.id) when 3 then ( case (p.heure) when 11 then p.lieu end ) end) [Z3_11_L], max (case (s.id) when 3 then ( case (p.heure) when 11 then p.client end ) end) [Z3_11_C], max (case (s.id) when 3 then ( case (p.heure) when 12 then p.lieu end ) end) [Z3_12_L], max (case (s.id) when 3 then ( case (p.heure) when 12 then p.client end ) end) [Z3_12_C], max (case (s.id) when 3 then ( case (p.heure) when 13 then p.lieu end ) end) [Z3_13_L], max (case (s.id) when 3 then ( case (p.heure) when 13 then p.client end ) end) [Z3_13_C], max (case (s.id) when 3 then ( case (p.heure) when 14 then p.lieu end ) end) [Z3_14_L], max (case (s.id) when 3 then ( case (p.heure) when 14 then p.client end ) end) [Z3_14_C], max (case (s.id) when 3 then ( case (p.heure) when 15 then p.lieu end ) end) [Z3_15_L], max (case (s.id) when 3 then ( case (p.heure) when 15 then p.client end ) end) [Z3_15_C], max (case (s.id) when 3 then ( case (p.heure) when 16 then p.lieu end ) end) [Z3_16_L], max (case (s.id) when 3 then ( case (p.heure) when 16 then p.client end ) end) [Z3_16_C], max (case (s.id) when 3 then ( case (p.heure) when 17 then p.lieu end ) end) [Z3_17_L], max (case (s.id) when 3 then ( case (p.heure) when 17 then p.client end ) end) [Z3_17_C], max (case (s.id) when 3 then ( case (p.heure) when 18 then p.lieu end ) end) [Z3_18_L], max (case (s.id) when 3 then ( case (p.heure) when 18 then p.client end ) end) [Z3_18_C], max (case (s.id) when 4 then s.secteur end) [Z4], max (case (s.id) when 4 then ( case (p.heure) when 10 then p.lieu end ) end) [Z4_10_L], max (case (s.id) when 4 then ( case (p.heure) when 10 then p.client end ) end) [Z4_10_C], max (case (s.id) when 4 then ( case (p.heure) when 11 then p.lieu end ) end) [Z4_11_L], max (case (s.id) when 4 then ( case (p.heure) when 11 then p.client end ) end) [Z4_11_C], max (case (s.id) when 4 then ( case (p.heure) when 12 then p.lieu end ) end) [Z4_12_L], max (case (s.id) when 4 then ( case (p.heure) when 12 then p.client end ) end) [Z4_12_C], max (case (s.id) when 4 then ( case (p.heure) when 13 then p.lieu end ) end) [Z4_13_L], max (case (s.id) when 4 then ( case (p.heure) when 13 then p.client end ) end) [Z4_13_C], max (case (s.id) when 4 then ( case (p.heure) when 14 then p.lieu end ) end) [Z4_14_L], max (case (s.id) when 4 then ( case (p.heure) when 14 then p.client end ) end) [Z4_14_C], max (case (s.id) when 4 then ( case (p.heure) when 15 then p.lieu end ) end) [Z4_15_L], max (case (s.id) when 4 then ( case (p.heure) when 15 then p.client end ) end) [Z4_15_C], max (case (s.id) when 4 then ( case (p.heure) when 16 then p.lieu end ) end) [Z4_16_L], max (case (s.id) when 4 then ( case (p.heure) when 16 then p.client end ) end) [Z4_16_C], max (case (s.id) when 4 then ( case (p.heure) when 17 then p.lieu end ) end) [Z4_17_L], max (case (s.id) when 4 then ( case (p.heure) when 17 then p.client end ) end) [Z4_17_C], max (case (s.id) when 4 then ( case (p.heure) when 18 then p.lieu end ) end) [Z4_18_L], max (case (s.id) when 4 then ( case (p.heure) when 18 then p.client end ) end) [Z4_18_C] FROM dbo.Planning p, dbo.Secteur s, dbo.Utilisateur u WHERE s.id *= p.fk_secteur AND u.id *= p.fk_utilisateur AND p.date = @date )