--felülírt ALAP- oszlopok visszaírása a helyes értékre SET DATEFIRST 1; DECLARE @tanevRendje TABLE ( C_DATUM datetime PRIMARY KEY ,C_HETNAPJA int ,C_NAPTIPUSA int ,C_ORARENDINAP char(1) ) INSERT @tanevRendje ([C_DATUM], [C_HETNAPJA], [C_NAPTIPUSA], [C_ORARENDINAP]) VALUES ('20170901', dbo.fnGetHetNapja('20170901'), 1394, N'F'), ('20171023', dbo.fnGetHetNapja('20171023'), 1386, N'F'), ('20171030', dbo.fnGetHetNapja('20171030'), 1399, N'F'), ('20171031', dbo.fnGetHetNapja('20171031'), 1399, N'F'), ('20171101', dbo.fnGetHetNapja('20171101'), 1386, N'F'), ('20171102', dbo.fnGetHetNapja('20171102'), 1399, N'F'), ('20171103', dbo.fnGetHetNapja('20171103'), 1399, N'F'), ('20171225', dbo.fnGetHetNapja('20171225'), 1386, N'F'), ('20171226', dbo.fnGetHetNapja('20171226'), 1386, N'F'), ('20171227', dbo.fnGetHetNapja('20171227'), 1397, N'F'), ('20171228', dbo.fnGetHetNapja('20171228'), 1397, N'F'), ('20171229', dbo.fnGetHetNapja('20171229'), 1397, N'F'), ('20180101', dbo.fnGetHetNapja('20180101'), 1386, N'F'), ('20180102', dbo.fnGetHetNapja('20180102'), 1397, N'F'), ('20180126', dbo.fnGetHetNapja('20180126'), 1400, N'T'), ('20180310', dbo.fnGetHetNapja('20180310'), 1385, N'F'), ('20180315', dbo.fnGetHetNapja('20180315'), 1386, N'F'), ('20180316', dbo.fnGetHetNapja('20180316'), 6833, N'F'), ('20180329', dbo.fnGetHetNapja('20180329'), 1398, N'F'), ('20180330', dbo.fnGetHetNapja('20180330'), 1386, N'F'), ('20180402', dbo.fnGetHetNapja('20180402'), 1386, N'F'), ('20180403', dbo.fnGetHetNapja('20180403'), 1398, N'F'), ('20180421', dbo.fnGetHetNapja('20180421'), 1385, N'F'), ('20180430', dbo.fnGetHetNapja('20180430'), 6833, N'F'), ('20180501', dbo.fnGetHetNapja('20180501'), 1386, N'F'), ('20180503', dbo.fnGetHetNapja('20180503'), 1402, N'T'), ('20180521', dbo.fnGetHetNapja('20180521'), 1386, N'F'), ('20180615', dbo.fnGetHetNapja('20180615'), 1395, N'T') UPDATE nn SET nn.C_ALAPHETNAPJA = ISNULL(tr.C_HETNAPJA, dbo.fnGetHetNapja(C_NAPDATUMA)) ,nn.C_ALAPNAPTIPUSA = ISNULL(tr.C_NAPTIPUSA, CASE WHEN DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7) THEN 1386 -- 'Munkaszüneti nap' WHEN nn.C_NAPDATUMA > te.C_UTOLSONAP THEN 1392 ELSE 1385 -- 'Tanítási nap' END) ,nn.C_ALAPORARENDINAP = ISNULL(tr.C_ORARENDINAP, CASE WHEN DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7) THEN 'F' -- 'Munkaszüneti nap' WHEN nn.C_NAPDATUMA > te.C_UTOLSONAP THEN 'F' ELSE 'T' -- 'Tanítási nap' END) FROM T_NAPTARINAP nn LEFT JOIN @tanevRendje tr ON nn.C_NAPDATUMA = tr.C_DATUM INNER JOIN T_TANEV te ON te.ID = nn.C_TANEVID WHERE te.C_NEV = '2017/2018' AND te.TOROLT = 'F'