Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 9. diel - MS-SQL krok za krokom: Dopyty cez viac tabuliek (JOIN)

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Jirka
Člen
Avatar
Odpovedá na Petra D.
Jirka:12.9.2018 11:11

Ahoj,
existuje podmínka nebo funkce if (NULL) then 0, else "sloupec". Je to v manuálu.

HTH

Odpovedať
Kdo nic nedělá, nic nezkazí.
Avatar
Petra D.
Člen
Avatar
Odpovedá na Jirka
Petra D. :12.9.2018 11:13

Díky moc za nasměrování, k podmínkám v SQL jsem se ještě nedostala ;)

Odpovedať
Jaký si to uděláš, takový to máš...
Avatar
Jirka
Člen
Avatar
Jirka:12.9.2018 11:24

Nemáš zač.

Ta syntaxe je nějak takto:

select SLOUPEC, if SLOUPEC2=NULL then 0 else SLOUPEC2
from tabulka
where podminka
group by SLOUPEC2;
Odpovedať
Kdo nic nedělá, nic nezkazí.
Avatar
Jirka
Člen
Avatar
Odpovedá na Petra D.
Jirka:12.9.2018 14:39

Již chápu.

Tak zkus tento dotaz (zkoušeno na MariaDB):

SELECT U.Prezdivka, COUNT(C.Id) AS PocetClanku
FROM Uzivatele as U
LEFT JOIN Clanky as C ON U.Id = C.AutorId
GROUP BY U.Prezdivka;
Odpovedať
Kdo nic nedělá, nic nezkazí.
Avatar
Jan Vlk
Člen
Avatar
Jan Vlk:17.7.2022 18:22

Ahoj, proč mezi tabulkami nejsou vytvořené vazby pomocí REFERENCES? Nepoužívá se to, nebo je tady proto jiný důvod? Např. v talbulce Clanky atribut AutorId.

Avatar
David Novák
Tvůrce
Avatar
Odpovedá na Jan Vlk
David Novák:5.10.2023 7:04

Ahoj Jane, děkujeme za podnět, který jsem předal k řešení.

Avatar
Bohumír Maštalíř:11.1.2024 11:10

Na začátku u přípravy dat mi chybí informace, v které databázi budeme úpravu tabulky Uzivatele provádět.
Pro úplné začátečníky v práci s Visual Studiem by asi bylo vhodné vysvětlit umístění dat serveru, připojování apod. To mám na mysli, že v projektu ("DBaplikace") jsem si vytvořil databázi "databazeProWeb" (umístěnou fyzicky na lokálním Dropboxu) a Importem cvičných dat jsem si vytvořil 3 databáze "DatabazeProWeb" , "InsaneRacing" a "SimpleMoney", které se mi umísily (?asi automaticky???, nevím, že by mě někde něco ptalo?) do C:\Users\....­......\Appdata\Lo­cal\....MSSQLLo­calDB\ a musím se k nim explicitně přihlašovat....

Avatar
Marek Žirovnický:6.9.2024 16:33

Suprově vysvětlené, děkuji.
Kdyby někoho zajímalo (stejně jako mě), co se použije kdybychom chtěli typ JOINu pro obě strany, použije se tzv. "FULL OUTER JOIN":

FULL OUTER JOIN [Uzivatele] ON [Clanky].[AutorId] = [Uzivatele].[Id]

Vyhodí to "necelé" záznamy z obou tabulek.

Avatar
Daniel Schneidr:5. marca 14:55

Pecka, tato lekce suprově vysvětlená :) díky

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 9 správy z 39.