1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
alter table zaroJegy MODIFY
jegyTipus enum('jegy','aláírás','százalékos','három szintű','egyedi felsorolás','felmentett','magatartás','szorgalom') NOT NULL DEFAULT 'jegy';
update targy SET evkoziKovetelmeny='magatartás',zaroKovetelmeny='magatartás',targyJelleg='magatartás' WHERE targyNev='magatartás';
update targy SET evkoziKovetelmeny='szorgalom',zaroKovetelmeny='szorgalom',targyJelleg='szorgalom' WHERE targyNev='szorgalom';
update zaroJegy SET jegyTipus='magatartás' WHERE targyId=(select targyId from targy where targy.targyJelleg LIKE 'magatart%s' LIMIT 1);
update zaroJegy SET jegyTipus='szorgalom' WHERE targyId=(select targyId from targy where targy.targyJelleg LIKE 'szorgalom' LIMIT 1);
-- ha véletlenül lenne ilyen tankör
update tankor SET kovetelmeny='magatartás' WHERE targyId IN (select targyId FROM targy WHERE targyJelleg LIKE 'magatart%s');
update tankor SET kovetelmeny='szorgalom' WHERE targyId IN (select targyId FROM targy WHERE targyJelleg LIKE 'szorgalom');
DROP TABLE IF EXISTS x;
CREATE TEMPORARY TABLE x (
SELECT zaroJegyId,osztalyDiak.osztalyId,zaroJegy.diakId,zaroJegy.tanev,szemeszter,szemeszter.zarasDt AS dt,tanev-kezdoTanev+kezdoEvfolyam AS evfolyam
FROM zaroJegy
LEFT JOIN szemeszter USING (tanev,szemeszter)
LEFT JOIN osztalyDiak ON (zaroJegy.diakId=osztalyDiak.diakId AND szemeszter.zarasDt>=osztalyDiak.beDt
AND (szemeszter.zarasDt<=osztalyDiak.kiDt OR osztalyDiak.kiDt IS NULL))
LEFT JOIN osztaly USING (osztalyId)
);
DROP TABLE IF EXISTS dx;
CREATE TABLE dx (select DISTINCT zaroJegyId from x group by zaroJegyId HAVING count(*)>1);
DELETE FROM x WHERE zaroJegyId IN (SELECT zaroJegyId FROM dx);
ALTER TABLE x ADD INDEX zj (zaroJegyId,evfolyam);
UPDATE zaroJegy SET evfolyam=(select evfolyam from x WHERE x.zaroJegyId=zaroJegy.zaroJegyId);
DROP TABLE x;
|