NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

Diskuze – Lekce 9 - MS-SQL krok za krokem: Dotazy přes více tabulek (JOIN)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jirka
Člen
Avatar
Odpovídá 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

Odpovědět
12.9.2018 11:11
Kdo nic nedělá, nic nezkazí.
Avatar
Petra D.
Člen
Avatar
Odpovídá 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 ;)

Odpovědět
12.9.2018 11:13
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;
Odpovědět
12.9.2018 11:24
Kdo nic nedělá, nic nezkazí.
Avatar
Jirka
Člen
Avatar
Odpovídá 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;
Odpovědět
12.9.2018 14:39
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.

 
Odpovědět
17.7.2022 18:22
Avatar
David Novák
Tvůrce
Avatar
Odpovídá 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í.

 
Odpovědět
5.10.2023 7:04
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....

 
Odpovědět
11.1.2024 11:10
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.

 
Odpovědět
6.9.2024 16:33
Avatar
Daniel Schneidr:5. března 14:55

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

 
Odpovědět
5. března 14:55
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 9 zpráv z 39.