-- ============================================= -- Description: Az sp visszaadja az adatbázisban található oktatás-szakmai és infomratikai hibákat -- ============================================= IF OBJECT_ID('dbo.sp_Global_GetDatabaseErrors') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_Global_GetDatabaseErrors] END GO CREATE PROCEDURE [dbo].[sp_Global_GetDatabaseErrors] @AktivTanevNev nvarchar(20) -- Ami jelenleg az aktív tanév kellene, hogy legyen AS BEGIN CREATE TABLE #ProblemTable ( ProblemaTipus nvarchar(12) ,Tipus nvarchar(100) ,Mennyiseg int ,Intezmeny int ,Tanev int ) -- Intézmény törölt, de a fenntartóazonosítója nem nulla INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Intezmeny_Torolt_FenntartoNem999' ,COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE i.TOROLT = 'T' AND i.C_FENNTARTOAZONOSITO <> 999 GROUP BY i.ID -- Intézmény nem törölt, de a fenntartóazonosítója nulla INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Intezmeny_NemTorolt_Fenntarto999' ,COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO = 999 GROUP BY i.ID -- Intézmény nem törölt, de mégis "_old" az azonosítója INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Intezmeny_NemTorolt_Old' ,COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE i.TOROLT = 'F' AND i.C_AZONOSITO LIKE '%[_]old' GROUP BY i.ID -- Intézménynek nincs aktív tanéve INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Intezmeny_Tanev_NincsAktiv',COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE NOT EXISTS (SELECT 1 FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F') AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 GROUP BY i.ID -- Intézménynek több aktív tanéve van INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Intezmeny_Tanev_TobbAktiv' ,COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE 1 < (SELECT COUNT(1) FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F') AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 GROUP BY i.ID -- Intézménynek nem az sp paramétereként megadott tanév az aktív tanéve INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Information' ,'Intezmeny_Tanev_RosszAktiv' ,COUNT(1) ,i.ID ,0 FROM T_INTEZMENY i WHERE NOT EXISTS (SELECT COUNT(1) FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F' AND C_NEV = @AktivTanevNev) AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 GROUP BY i.ID -- Felhasználó és Alkalmazott Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Alkalmazott_IntezmenyId' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.C_INTEZMENYID <> a.C_ALINTEZMENYID AND a.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F' INNER JOIN T_TANEV tna ON tna.ID=a.C_ALTANEVID AND tna.TOROLT='F' WHERE fh.TOROLT='F' AND (tnfh.C_AKTIV='T' OR tna.C_AKTIV='T') GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó és Alkalmazott Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Alkalmazott_TanevId' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.C_TANEVID <> a.C_ALTANEVID INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F' INNER JOIN T_TANEV tna ON tna.ID=a.C_ALTANEVID AND tna.TOROLT='F' WHERE fh.TOROLT='F' AND (tnfh.C_AKTIV='T' OR tna.C_AKTIV='T') GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó és Alkalmazott Törölt inkonzisztencia (Felhasználó) INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Alkalmazott_ToroltFelhasznaloVagyAlkalmazott' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.TOROLT<>a.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE NOT EXISTS(SELECT 1 FROM T_TANULO WHERE ID=fh.ID AND TOROLT='F' AND fh.TOROLT='F') GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó és Tanuló Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Tanulo_IntezmenyId' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_TANULO t ON t.ID = fh.ID AND fh.C_INTEZMENYID <> t.C_ALINTEZMENYID INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND t.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE fh.TOROLT='F' GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó és Tanuló Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Tanulo_TanevId' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_TANULO t ON t.ID = fh.ID AND fh.C_TANEVID <> t.C_ALTANEVID AND t.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F' INNER JOIN T_TANEV tnt ON tnt.ID = t.C_ALTANEVID AND tnt.TOROLT = 'F' WHERE fh.TOROLT='F' AND (tnt.C_AKTIV='T' OR tnfh.C_AKTIV='T') GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó és Tanuló Törölt inkonzisztencia (Felhasználó) INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Tanulo_ToroltFelhasznaloVagyTanulo' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_TANULO t ON t.ID = fh.ID AND t.TOROLT='F' AND fh.TOROLT <> t.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Felhasználó egyszerre Alkalmazott és Tanuló is INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Felhasznalo_Alkalmazott_TanuloIs' ,COUNT(1) ,fh.C_INTEZMENYID ,fh.C_TANEVID FROM T_FELHASZNALO fh INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE EXISTS (SELECT 1 FROM T_ALKALMAZOTT WHERE ID = fh.ID AND TOROLT = 'F') AND EXISTS (SELECT 1 FROM T_TANULO WHERE ID = fh.ID AND TOROLT = 'F') AND fh.TOROLT = 'F' GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID -- Osztálycsoport és Osztály Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Osztaly_IntezmenyId' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.C_INTEZMENYID <> o.C_ALINTEZMENYID AND o.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE ocs.TOROLT='F' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport és Osztály Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Osztaly_TanevId' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.C_TANEVID <> o.C_ALTANEVID AND o.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F' INNER JOIN T_TANEV tno ON tno.ID = o.C_ALTANEVID AND tno.TOROLT = 'F' WHERE ocs.TOROLT='F' AND (tno.C_AKTIV='T' OR tnocs.C_AKTIV='T') GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport és Osztály Törölt inkonzisztencia (Osztálycsoport) INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Osztaly_ToroltOsztalycsoportVagyOsztaly' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.TOROLT <> o.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport és Csoport Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Csoport_IntezmenyId' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND ocs.C_INTEZMENYID <> cs.C_ALINTEZMENYID AND cs.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE ocs.TOROLT='F' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport és Csoport Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Csoport_TanevId' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND ocs.C_TANEVID <> cs.C_ALTANEVID AND cs.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F' INNER JOIN T_TANEV tncs ON tncs.ID = cs.C_ALTANEVID AND tncs.TOROLT = 'F' WHERE ocs.TOROLT='F' AND (tncs.C_AKTIV='T' OR tnocs.C_AKTIV='T') GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport és Csoport Törölt inkonzisztencia (Osztálycsoport) INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Csoport_ToroltOsztalycsoportVagyCsoport' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_CSOPORT cs ON ocs.ID = cs.ID AND ocs.TOROLT <> cs.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport egyszerre Osztály és Csoport is INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Osztaly_CsoportIs' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE EXISTS (SELECT 1 FROM T_OSZTALY WHERE ID = ocs.ID AND TOROLT = 'F') AND EXISTS (SELECT 1 FROM T_CSOPORT WHERE ID = ocs.ID AND TOROLT = 'F') AND ocs.TOROLT = 'F' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Osztálycsoport se nem osztály, se nem csoport INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Osztalycsoport_Osztaly_CsoportSe' ,COUNT(1) ,ocs.C_INTEZMENYID ,ocs.C_TANEVID FROM T_OSZTALYCSOPORT ocs INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALY WHERE ID = ocs.ID AND TOROLT = 'F') AND NOT EXISTS (SELECT 1 FROM T_CSOPORT WHERE ID = ocs.ID AND TOROLT = 'F') AND ocs.TOROLT = 'F' GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID -- Foglalkozás és Alkalmazott Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Alkalmazott_IntezmenyId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND fh.C_INTEZMENYID <> f.C_INTEZMENYID AND fh.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Alkalmazott Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Alkalmazott_TanevId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND f.C_TANEVID <> fh.C_TANEVID AND fh.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F' INNER JOIN T_TANEV tna ON tna.ID = f.C_TANEVID AND tna.TOROLT = 'F' WHERE f.TOROLT='F' AND (tna.C_AKTIV='T' OR tnf.C_AKTIV='T') GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Alkalmazott Törölt inkonzisztencia INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Alkalmazott_Torolt' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND fh.TOROLT <> f.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Alkalmazott ahol a felhasználó nem alkalmazott INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Alkalmazott_NemAlkalmazott' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE NOT EXISTS (SELECT 1 FROM T_ALKALMAZOTT WHERE ID = f.C_TANARID AND TOROLT='F') AND f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Tantárgy Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Tantargy_IntezmenyId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND tgy.TOROLT='F' AND tgy.C_INTEZMENYID<>f.C_INTEZMENYID INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Tantárgy Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Tantargy_TanevId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND f.C_TANEVID <> tgy.C_TANEVID AND tgy.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F' INNER JOIN T_TANEV tntgy ON tntgy.ID = tgy.C_TANEVID AND tntgy.TOROLT = 'F' WHERE f.TOROLT='F' AND (tnf.C_AKTIV='T' OR tntgy.C_AKTIV='T') GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Tantárgy Törölt inkonzisztencia INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_Tantargy_Torolt' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND tgy.TOROLT<>f.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Osztálycsoport Intézménye nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_OsztalyCsoport_IntezmenyId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.C_INTEZMENYID <> ocs.C_INTEZMENYID AND ocs.TOROLT='F' INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Osztálycsoport Tanéve nem stimmel INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_OsztalyCsoport_TanevId' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND ocs.TOROLT='F' AND f.C_TANEVID <> ocs.C_TANEVID INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F' INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F' WHERE f.TOROLT='F' AND (tnocs.C_AKTIV='T' OR tnf.C_AKTIV='T') GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Foglalkozás és Osztálycsoport Törölt inkonzisztencia INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev) SELECT 'Error' ,'Foglalkozas_OsztalyCsoport_Torolt' ,COUNT(1) ,f.C_INTEZMENYID ,f.C_TANEVID FROM T_FOGLALKOZAS f INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.TOROLT <> ocs.TOROLT INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900 INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T' WHERE f.TOROLT='F' GROUP BY f.C_INTEZMENYID, f.C_TANEVID -- Megjelenítés SELECT * FROM #ProblemTable Order By ProblemaTipus ASC, Mennyiseg DESC END GO