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
Odpovedá na Ondřej Krsička
Michal Žůrek - misaz:1.5.2016 11:12

tak to zkus smazat a uvidíš. :) Ono když se nad tím hooodně hluboce zamyslíš, tak to dává smysl, prostě když používáš GROUP BY, tak musí být všechny řádky podle něčeho seskupené nesmí existovat řádek, který by obsahoval možnost díky které by nebyl seskupitelný, tudíž všechno co jde do výstupu musí být seskupeno (nějak). Snad jsem se při tom popisu v tom sám nezamotal.

Avatar
Mirek Senk
Člen
Avatar
Mirek Senk:31.8.2016 15:34

Ahoj, ve vzoru syntaxe na přidání osoby se špatným číslem chybí jedna hranatá závorka před AutorId

INSERT INTO [Clanky] (AutorId], ... má být INSERT INTO [Clanky] ([AutorId], ...

Jinak strašně moc děkuju za tyhle lekce!

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Mirek Senk
David Hartinger:31.8.2016 15:36

Díky, opraveno :)

Odpovedať
New kid back on the block with a R.I.P
Avatar
Jakub Bómíček Bohm:5.10.2017 20:22

Zdravím. Po přečtení této lekce jsem konečně pochopil joiny a podobně. Jenom by mě zajímalo, proč nepoužíváte u vazeb 1 : N cizí klíče. Poté by se dalo vyhnout problémům s neexistujícím článkem pro toho uživatele, nebo neexistujícím uživatelem pro článek. Tím pádem by se outer join vůbec nemusel používat, jelikož by ani nešlo zadat špatné id.

Avatar
Odpovedá na Jakub Bómíček Bohm
Michal Žůrek - misaz:5.10.2017 20:26

Cizí klíče by to samozřejmě vyřešili. Články jsou přepis článků myslím z MySQL. Nepoužívají se zde z historických důvodů. OUTER JOIN by se musel používat, protože vybíráte uživatele z tabulky články. Už ta předchozí věta zní divně. Pokud nebude existovat článek k osobě, tak prostě za normálních okolností smůla. OUTER JOIN, tam dá tu osobu s hodnotami NULL všude kde nejsou.

Avatar
Jakub Bómíček Bohm:5.10.2017 20:37

Jo už jsem to pochopil. Když vkládám ty články, tak zadávám id autora ( primární klíč autora ). V tomto případě nezadávám emu - zadávám jen 1,2,2,3 -, takže bych pak použil ten right outer join a vypsalo mi to, že ema nemá žádný článek. Šlo mi jen o ten článek s id autora 99, to by nešlo vůbec vytvořit s použitím cizího klíče.

Avatar
Odpovedá na Jakub Bómíček Bohm
Michal Žůrek - misaz:5.10.2017 20:45

Přesně tak. Otázkou je taky jestli v době GPDR (nebo jak se to jmenuje) to dokonce bez cizích klíčů není v něčem trochu lepší.

Avatar
Jakub Ondrák:21.6.2018 16:33

když ve Visual Studiu naklikám SQL dotaz pomocí návrháře, tak mi VS vytvoří automaticky JOIN a nespojuje tabulky pomocí WHERE...

Ahoj, prosím, kde najdu toho návrháře? :-)

Avatar
Petra D.
Člen
Avatar
Petra D. :12.9.2018 10:32

Ahoj, zkoušela jsem tento příkaz výše pro zobrazení počtu článků uživatele:

SELECT [Uzivatele].[Prez­divka], COUNT(*) AS [PocetClanku]
FROM [Clanky]
JOIN [Uzivatele] ON [Uzivatele].[Id] = [Clanky].[AutorId]
GROUP BY [Clanky].[Auto­rId],[Uzivate­le].[Prezdivka];

a nezobrazí to Emu, která nenapsala žádný článek. Pokud přidám RIGHT JOIN aby se zohlednily i uživatelé bez připojených článků, tak mi to zase napíše počet článků u Emy 1, protože se započítá i NULL. Dá se toto nějak ošetřit, abych viděla pravdivě i uživatele, kteří mají 0 článků? Díky za radu :)

Editované
Odpovedať
Jaký si to uděláš, takový to máš...
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é 10 správy z 39.