---
# System prepended metadata

title: SQL w raportach

---

# SQL w raportach

## Zastępstwa danej osoby

```sql=
SELECT p.imie AS "Imię nieobecnego", p.nazwisko AS "Nazwisko nieobecnego", zastepstwo.poczatek, zastepstwo.koniec, p2.imie AS "Imię zastępcy", p2.nazwisko AS "Nazwisko zastępcy" FROM `zastepstwo` 
INNER JOIN nieobecnosci ON nieobecnosci_id = nieobecnosci.id 
INNER JOIN pracownik AS p ON nieobecnosci.pracownik_id = p.id 
INNER JOIN slownik_zastepstw ON slowzast_id = slownik_zastepstw.id 
INNER JOIN pracownik AS p2 ON slownik_zastepstw.pracownik_kto = p2.id
WHERE p.imie = '{$name}' AND p.nazwisko = '{$surname}' AND zastepstwo.poczatek >= '{$date_range_start}' AND zastepstwo.koniec <= '{$date_range_end}' 
ORDER BY zastepstwo.poczatek
```

## Zastępstwa przez daną osobę

```sql=
SELECT p.imie AS "Imię nieobecnego", p.nazwisko AS "Nazwisko nieobecnego",  zastepstwo.poczatek, zastepstwo.koniec, p2.imie AS "Imię zastępcy", p2.nazwisko AS "Nazwisko zastępcy" FROM `zastepstwo` 
INNER JOIN nieobecnosci ON nieobecnosci_id = nieobecnosci.id 
INNER JOIN pracownik AS p ON nieobecnosci.pracownik_id = p.id 
INNER JOIN slownik_zastepstw ON slowzast_id = slownik_zastepstw.id 
INNER JOIN pracownik AS p2 ON slownik_zastepstw.pracownik_kto = p2.id
WHERE p2.imie = '{$name}' AND p2.nazwisko = '{$surname}' AND zastepstwo.poczatek >= '{$date_range_start}' AND zastepstwo.koniec <= '{$date_range_end}' 
ORDER BY zastepstwo.poczatek
```

## Nieobecności osoby

```sql=
SELECT nb.poczatek, nb.koniec, p.imie, p.nazwisko, p.pesel FROM `nieobecnosci` AS nb 
INNER JOIN pracownik AS p ON p.id = nb.pracownik_id
WHERE p.imie = '{$name}' AND p.nazwisko = '{$surname}' AND nb.poczatek >= '{$date_range_start}' AND nb.koniec <= '{$date_range_end}' 
ORDER BY nb.poczatek
```

## Nieobecności z okresu

```sql=
SELECT nb.poczatek, nb.koniec, p.imie, p.nazwisko, p.pesel FROM `nieobecnosci` AS nb 
INNER JOIN pracownik AS p ON p.id = nb.pracownik_id
WHERE nb.poczatek >= '{$date_range_start}'  AND nb.koniec <= '{$date_range_end}' AND p.pracownik_id = (SELECT kierownik_id FROM dzial AS d WHERE d.nazwa = '{$dzial}') 
ORDER BY nb.poczatek

```