IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Spojení dvou tabulek s omezením na jeden záznam

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Karel Mikuš
Člen
Avatar
Karel Mikuš:30.1.2018 19:26

Dobrý den
Mám dvě databázové tabulky. Jedna obsahuje uživatele a druhá obsahuje lékařské prohlídky jednotlivých uživatelů s datem jejich uskutečnění. Každý uživatel může prohlídku absolvovat vícekrát, takže v tabulce s prohlídkama má více záznamů pro jednu konkrétní prohlídku.
Když udělám spojení těchto tabulek, tak ve výsledku je uživatel tolikrátk, kolikrát absolvoval danou prohlídku. Ale já bych potřeboval aby se vybral ke spojení pouze řádek s nejvyšším datumem uskutečnění prohlídky.
Je možné v selektu odfiltrovat tyto starší záznamy nebo to budu muset udělat následně v kódu aplikace?
Děkuji za pomoc

 
Odpovědět
30.1.2018 19:26
Avatar
Odpovídá na Karel Mikuš
Michal Štěpánek:30.1.2018 20:51

Zkus použít "podmínku" např.:

...ORDER BY TabulkaProhlidek.DatumProhlidky DESC GROUP BY TabulkaUzivatelu.ID_uzivatele
Nahoru Odpovědět
30.1.2018 20:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondřej Crha
Člen
Avatar
Ondřej Crha:31.1.2018 12:54
SELECT
        uzivatel.Id, uzivatel.Jmeno, uzivatel.Prijmeni, MAX(prohlidka.Datum) AS DatumProhlidky
FROM uzivatel
JOIN prohlidka ON prohlidka.uzivatelId = uzivatel.Id
GROUP BY uzivatel.Id, uzivatel.Jmeno, uzivatel.Prijmeni
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
31.1.2018 12:54
Avatar
Karel Mikuš
Člen
Avatar
Karel Mikuš:31.1.2018 19:54

Pánové děkuji, tohle je opravdu to co jsem potřeboval a funguje jak má.

 
Nahoru Odpovědět
31.1.2018 19:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.