66 lines
No EOL
2.6 KiB
Transact-SQL
66 lines
No EOL
2.6 KiB
Transact-SQL
--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' |