Diskuze: SQL příkazy pro mou databázi v MySQL
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Z toho, co jsi popsal textem, co presne ti nejde, co to da za data a jaka
mela byt?
Jan | Novák = SELECT jmeno, prijmeni FROM osoby
pondělí, úterý, středa = SELECT prichod, odchod FROM prichody
a propojene to mas jiste vazebni tabulkou osoby_zamestnanci zam_prichody.
Pseudokod:
SELECT sloupce, 1 AS den, id_zam FROM prichody LEFT JOIN osoby_zamestnanci, zam_prichody, osoby... GROUP BY id_zamestnanec WHERE den=pondeli
SELECT sloupce, JOIN(den) FROM(
(SELECT ...1 AS den... den=pondeli) UNION ALL
(SELECT ...2 AS den... den=utery) UNION ALL
(SELECT ...3 AS den... den=streda)
)
GROUP BY id_zam, den
Preci, postupujes logicky. Vis jaka data potrebujes na vstupu. Kde je mas
hledat.
Vyhledas vse, co se jen da, na elementarni urovni, a pak to zacnes spojovat.
Podstatne je, ze pokud budes groupovat nad unionem, tak by to melo byt co
nejmene radku, sloupcu a pouzivat tam idecka. Ostatni data muzes pridat az do
vysledne tabulky left joinem. Respektive, ty data, ktera nespadaji do tabulek
pouzitych uvnitr unionu a nemaji vliv na SELECT nad uniony. Jakoze pro vnejsi
SELECT-GROUP potrebujes jen den a id_zam. Vse ostatni je pritez. Ale pokud uz
mas ty tabulky otevrene... Pozor ale na sloupce pro group by a where. Tam je
dobre pouzit indexovana data.
Zobrazeno 3 zpráv z 3.