Órai SQL
Márciusi vizsgálatokban résztvevő orvosok
SELECT nev as Név
FROM orvosok
WHERE id in(
SELECT orvos_id
FROM vizsgalatok
WHERE datum BETWEEN "2025.03.01" and "2025.03.31"
);
SELECT DISTINCT o.nev as Név
FROM orvosok o
JOIN vizsgalatok v ON o.id = v.orvos_id
WHERE YEAR(v.datum) = 2025 AND MONTH(v.datum) = 3;
Orvosok, akik még nem végeztek vizsgálatot
SELECT nev as név
FROM orvosok
WHERE id NOT IN (
SELECT DISTINCT orvos_id FROM vizsgalatok
);
SELECT o.nev as név
FROM vizsgalatok v
RIGHT JOIN orvosok o ON o.id = v.orvos_id
WHERE v.id IS NULL;
Orvosok és vizsgálataik száma
SELECT o.nev as név, COUNT(v.id) as "Vizsgálatok száma"
FROM vizsgalatok v
RIGHT JOIN orvosok o ON o.id = v.orvos_id
GROUP BY o.nev;
Legalább 2 vizsgálatot végző orvosok
SELECT o.nev as név, COUNT(v.id) as "Vizsgálatok száma"
FROM vizsgalatok v
RIGHT JOIN orvosok o ON o.id = v.orvos_id
GROUP BY o.nev
HAVING COUNT(v.id) >= 2;
Vizsgálaton járt betegek az elmúlt 1 hónapban
SELECT beteg_nev as Név, datum as Dátum, diagnozis as Diagnózis
FROM vizsgalatok
WHERE datum >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
SELECT beteg_nev, datum, diagnozis, DATEDIFF(CURRENT_DATE(), datum)
FROM vizsgalatok
WHERE DATEDIFF(CURRENT_DATE(), datum) < 32;