init
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
IF OBJECT_ID('T_TANARTARGYATLAG') IS NOT NULL BEGIN
|
||||
DROP VIEW T_TANARTARGYATLAG
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE VIEW T_TANARTARGYATLAG AS
|
||||
SELECT AVG(d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS C_ATLAG,
|
||||
oe.C_ALINTEZMENYID AS C_INTEZMENYID, oe.C_ALTANEVID AS C_TANEVID,
|
||||
te.C_TANTARGYID AS C_TANTARGYIATLAGOKID, te.C_ERTEKELOID AS C_TANARIATLAGOKID
|
||||
FROM T_OSZTALYZATERTEKELES oe
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.ID = oe.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE d ON d.ID = te.C_OSZTALYZAT AND oe.C_ALINTEZMENYID = d.C_INTEZMENYID AND oe.C_ALTANEVID = d.C_TANEVID
|
||||
LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA
|
||||
GROUP BY oe.C_ALINTEZMENYID, oe.C_ALTANEVID, te.C_TANTARGYID, te.C_ERTEKELOID
|
||||
GO
|
||||
|
||||
|
||||
--IF OBJECT_ID('T_TANARTARGYATLAG_OSSZES') IS NOT NULL BEGIN
|
||||
-- DROP VIEW T_TANARTARGYATLAG_OSSZES
|
||||
--END
|
||||
--GO
|
||||
|
||||
--CREATE VIEW T_TANARTARGYATLAG_OSSZES AS
|
||||
-- SELECT AVG(d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS C_ATLAG,
|
||||
-- oe.C_ALINTEZMENYID AS C_INTEZMENYID, oe.C_ALTANEVID AS C_TANEVID,
|
||||
-- te.C_TANTARGYID AS C_TANTARGYIATLAGOKID, te.C_ERTEKELOID AS C_TANARIATLAGOKID
|
||||
-- FROM T_OSZTALYZATERTEKELES_OSSZES oe
|
||||
-- INNER JOIN T_TANULOERTEKELES_OSSZES te ON te.ID = oe.ID
|
||||
-- INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = oe.C_OSZTALYZAT AND oe.C_ALINTEZMENYID = d.C_INTEZMENYID AND oe.C_ALTANEVID = d.C_TANEVID
|
||||
-- LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA AND s.C_TANEVID = oe.C_ALTANEVID
|
||||
-- GROUP BY oe.C_ALINTEZMENYID, oe.C_ALTANEVID, te.C_TANTARGYID, te.C_ERTEKELOID
|
||||
--GO
|
||||
|
||||
|
||||
IF OBJECT_ID('T_TARGYOSZTALYATLAG') IS NOT NULL BEGIN
|
||||
DROP VIEW T_TARGYOSZTALYATLAG
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE VIEW T_TARGYOSZTALYATLAG AS
|
||||
SELECT AVG(d.C_VALUE * d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS C_ATLAG, oe.C_ALINTEZMENYID AS C_INTEZMENYID, oe.C_ALTANEVID AS C_TANEVID,
|
||||
te.C_TANTARGYID AS C_TARGYATLAGOKID, ISNULL(cso.C_OSZTALYOKID, te.C_OSZTALYCSOPORTID) AS C_OSZTALYATLAGOKID
|
||||
FROM T_OSZTALYZATERTEKELES oe
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.ID = oe.ID
|
||||
LEFT JOIN T_CSOPORTOK_OSZTALYOK cso ON cso.C_CSOPORTOKID = te.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_DICTIONARYITEMBASE d ON d.ID = te.C_OSZTALYZAT AND oe.C_ALINTEZMENYID = d.C_INTEZMENYID AND oe.C_ALTANEVID = d.C_TANEVID
|
||||
LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA
|
||||
GROUP BY oe.C_ALINTEZMENYID, oe.C_ALTANEVID, te.C_TANTARGYID, ISNULL(cso.C_OSZTALYOKID, te.C_OSZTALYCSOPORTID)
|
||||
GO
|
||||
|
||||
|
||||
--IF OBJECT_ID('T_TARGYOSZTALYATLAG_OSSZES') IS NOT NULL BEGIN
|
||||
-- DROP VIEW T_TARGYOSZTALYATLAG_OSSZES
|
||||
--END
|
||||
--GO
|
||||
|
||||
--CREATE VIEW T_TARGYOSZTALYATLAG_OSSZES AS
|
||||
-- SELECT AVG(d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS C_ATLAG, oe.C_ALINTEZMENYID AS C_INTEZMENYID, oe.C_ALTANEVID AS C_TANEVID,
|
||||
-- te.C_TANTARGYID AS C_TARGYATLAGOKID, ISNULL(cso.C_OSZTALYOKID, te.C_OSZTALYCSOPORTID) AS C_OSZTALYATLAGOKID
|
||||
-- FROM T_OSZTALYZATERTEKELES_OSSZES oe
|
||||
-- INNER JOIN T_TANULOERTEKELES_OSSZES te ON te.ID = oe.ID
|
||||
-- LEFT JOIN T_CSOPORTOK_OSZTALYOK cso ON cso.C_CSOPORTOKID = te.C_OSZTALYCSOPORTID
|
||||
-- INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = oe.C_OSZTALYZAT AND oe.C_ALINTEZMENYID = d.C_INTEZMENYID AND oe.C_ALTANEVID = d.C_TANEVID
|
||||
-- LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA AND s.C_TANEVID = oe.C_ALTANEVID
|
||||
-- GROUP BY oe.C_ALINTEZMENYID, oe.C_ALTANEVID, te.C_TANTARGYID, ISNULL(cso.C_OSZTALYOKID, te.C_OSZTALYCSOPORTID)
|
||||
--GO
|
||||
|
||||
|
||||
IF OBJECT_ID('T_TARGYTANULOATLAG') IS NOT NULL BEGIN
|
||||
DROP VIEW T_TARGYTANULOATLAG
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE VIEW T_TARGYTANULOATLAG AS
|
||||
SELECT C_TANULOID, C_TANTARGYID, [9] AS C_SZEPTEMBER, [10] AS C_OKTOBER, [11] AS C_NOVEMBER,
|
||||
[12] AS C_DECEMBER, [1] AS C_JANUAR, [2] AS C_FEBRUAR, [3] AS C_MARCIUS, [4] AS C_APRILIS,
|
||||
[5] AS C_MAJUS, [6] AS C_JUNIUS, [7] AS C_JULIUS, [8] AS C_AUGUSZTUS,
|
||||
[ev] AS C_EVVEGIATLAG, [I] AS C_BONTOTTELSOFELEVATLAG, [II] AS C_BONTOTTMASODIKFELEVATLAG
|
||||
FROM (
|
||||
SELECT i.period, te.C_TANULOID, te.C_TANTARGYID, AVG(d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS atlag
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(MONTH(n.C_NAPDATUMA) AS varchar(3)) AS period
|
||||
,DATEFROMPARTS ( YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA), 1 ) AS startDate
|
||||
,DATEADD(m, 1, DATEFROMPARTS ( YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA), 1 )) AS endDate
|
||||
FROM T_NAPTARINAP n
|
||||
GROUP BY YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA)
|
||||
UNION ALL
|
||||
SELECT 'ev', C_KEZDONAP, CAST(C_UTOLSONAP + 1 AS date)
|
||||
FROM T_TANEV
|
||||
UNION ALL
|
||||
SELECT 'I', C_KEZDONAP, C_DATUM + 1
|
||||
FROM T_TANEV t
|
||||
INNER JOIN T_TANEVRENDJE r ON r.C_TANEVID = t.ID
|
||||
WHERE C_NAPTIPUSA= 1400 --Első félév vége
|
||||
UNION ALL
|
||||
SELECT 'II', C_DATUM + 1, CAST(C_UTOLSONAP + 1 AS date)
|
||||
FROM T_TANEV t
|
||||
INNER JOIN T_TANEVRENDJE r ON r.C_TANEVID = t.ID
|
||||
WHERE C_NAPTIPUSA= 1400 --Első félév vége
|
||||
) i
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_ERTEKELESDATUM >= i.startDate AND te.C_ERTEKELESDATUM < i.endDate
|
||||
INNER JOIN T_OSZTALYZATERTEKELES oe ON oe.ID = te.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE d ON d.ID = te.C_OSZTALYZAT AND d.C_INTEZMENYID = oe.C_ALINTEZMENYID AND d.C_TANEVID = oe.C_ALTANEVID
|
||||
LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA
|
||||
GROUP BY i.period, te.C_TANULOID, te.C_TANTARGYID
|
||||
) x
|
||||
PIVOT (
|
||||
MAX (atlag)
|
||||
FOR period IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6], [7], [8], [ev], [I], [II])
|
||||
) AS pvt
|
||||
GO
|
||||
|
||||
|
||||
--IF OBJECT_ID('T_TARGYTANULOATLAG_OSSZES') IS NOT NULL BEGIN
|
||||
-- DROP VIEW T_TARGYTANULOATLAG_OSSZES
|
||||
--END
|
||||
--GO
|
||||
|
||||
--CREATE VIEW T_TARGYTANULOATLAG_OSSZES AS
|
||||
-- SELECT C_TANULOID, C_TANTARGYID, [9] AS C_SZEPTEMBER, [10] AS C_OKTOBER, [11] AS C_NOVEMBER,
|
||||
-- [12] AS C_DECEMBER, [1] AS C_JANUAR, [2] AS C_FEBRUAR, [3] AS C_MARCIUS, [4] AS C_APRILIS,
|
||||
-- [5] AS C_MAJUS, [6] AS C_JUNIUS, [7] AS C_JULIUS, [8] AS C_AUGUSZTUS,
|
||||
-- [ev] AS C_EVVEGIATLAG, [I] AS C_BONTOTTELSOFELEVATLAG, [II] AS C_BONTOTTMASODIKFELEVATLAG
|
||||
-- FROM (
|
||||
-- SELECT i.period, te.C_TANULOID, te.C_TANTARGYID, AVG(d.C_VALUE * ISNULL(s.C_SULY / 100.0, 1.0)) AS atlag
|
||||
-- FROM (
|
||||
-- SELECT
|
||||
-- CAST(MONTH(n.C_NAPDATUMA) AS varchar(3)) AS period
|
||||
-- ,DATEFROMPARTS ( YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA), 1 ) AS startdate
|
||||
-- ,DATEADD(m, 1, DATEFROMPARTS ( YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA), 1 )) AS enddate
|
||||
-- FROM T_NAPTARINAP_OSSZES n
|
||||
-- GROUP BY YEAR(n.C_NAPDATUMA), MONTH(n.C_NAPDATUMA)
|
||||
-- UNION ALL
|
||||
-- SELECT 'ev', C_KEZDONAP, CAST(C_UTOLSONAP + 1 AS date)
|
||||
-- FROM T_TANEV_OSSZES
|
||||
-- UNION ALL
|
||||
-- SELECT 'I', C_KEZDONAP, C_DATUM + 1
|
||||
-- FROM T_TANEV_OSSZES t
|
||||
-- INNER JOIN T_TANEVRENDJE_OSSZES r ON r.C_TANEVID = t.ID
|
||||
-- WHERE C_NAPTIPUSA= 1400 --Első félév vége
|
||||
-- UNION ALL
|
||||
-- SELECT 'II', C_DATUM + 1, CAST(C_UTOLSONAP + 1 AS date)
|
||||
-- FROM T_TANEV_OSSZES t
|
||||
-- INNER JOIN T_TANEVRENDJE_OSSZES r ON r.C_TANEVID = t.ID
|
||||
-- WHERE C_NAPTIPUSA= 1400 --Első félév vége
|
||||
-- ) i
|
||||
-- INNER JOIN T_TANULOERTEKELES_OSSZES te ON te.C_ERTEKELESDATUM >= i.startdate AND te.C_ERTEKELESDATUM < i.enddate
|
||||
-- INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON oe.ID = te.ID
|
||||
-- INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = oe.C_OSZTALYZAT AND d.C_INTEZMENYID = oe.C_ALINTEZMENYID AND d.C_TANEVID = oe.C_ALTANEVID
|
||||
-- LEFT JOIN T_TANARIATLAGSULY s ON s.C_ERTEKELESMODJA = oe.C_ERTEKELESMODJA AND s.C_TANEVID = oe.C_ALTANEVID
|
||||
-- GROUP BY i.period, te.C_TANULOID, te.C_TANTARGYID
|
||||
-- ) x
|
||||
-- PIVOT (
|
||||
-- MAX (atlag)
|
||||
-- FOR period IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6], [7], [8], [ev], [I], [II])
|
||||
-- ) AS pvt
|
||||
--GO
|
||||
|
||||
|
||||
--------------------------- #TABLE#_OSSZES VIEW-K LÉTREHOZÁSA A DBO SCHEMA_BAN ---------------------------
|
||||
|
||||
DECLARE @tableName NVARCHAR(200)
|
||||
DECLARE @viewName NVARCHAR(200)
|
||||
DECLARE @sql NVARCHAR(max)
|
||||
|
||||
DECLARE tableCursor CURSOR LOCAL FOR
|
||||
SELECT t.name
|
||||
FROM sys.tables t
|
||||
INNER JOIN sys.schemas s ON s.schema_id = t.schema_id
|
||||
WHERE s.name ='dbo'
|
||||
ORDER BY s.name
|
||||
|
||||
OPEN tableCursor
|
||||
|
||||
FETCH NEXT FROM tableCursor INTO @tableName
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
PRINT @tableName
|
||||
|
||||
SET @viewName = @tableName + N'_OSSZES'
|
||||
|
||||
SET @sql = N'IF OBJECT_ID(''' + @viewName + ''') IS NOT NULL
|
||||
BEGIN
|
||||
DROP VIEW ' + @viewName + '
|
||||
END'
|
||||
|
||||
--PRINT @sql
|
||||
EXECUTE sp_executesql @sql
|
||||
|
||||
SET @sql = N'CREATE VIEW dbo.' + @viewName + '
|
||||
AS
|
||||
SELECT *
|
||||
FROM dbo.' + @tableName
|
||||
|
||||
--PRINT @sql
|
||||
EXECUTE sp_executesql @sql
|
||||
|
||||
FETCH NEXT FROM tableCursor INTO @tableName
|
||||
END
|
||||
|
||||
CLOSE tableCursor
|
||||
DEALLOCATE tableCursor
|
||||
GO
|
Reference in New Issue
Block a user