Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kdo je autorem výstavy obrazových fotografií „Očima Hanse Christiana Andersena“?

V dnešní soutěži hrajeme o:



Složitější LEFT JOIN

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Složitější LEFT JOIN

Autor: DFASDFASDFASDF ♂

20:03:41 31.05.2016

David Plšek napsal/a

Timto dotazem se vytáhnu počet nepřečtených zpráv pro vybraného uživatele:

SELECT COUNT(*) FROM TabZpravy
LEFT JOIN TabZpravyPrijemce ON TabZpravyPrijemce.ZpravaID = TabZpravy.ID
WHERE TabZpravyPrijemce.UzivatelID = 1 AND TabZpravyPrijemce.Precteno = 0

Šel by ten dotaz předělat tak , aby vracel počet nepřečtených uživatelů i za předpokladu že by nexistoval záznam v tabulce TabZpravyPrijemce?

Jakmile tam není, tak se má zato, že zpráva je nepřečtena.

Děkuji



vsechny informace o prectenosti zpravy a o uzivatelich mas v tabulce TabZpravyPrijemce, takze
kdyz mas v tabulce TabZpravy nejaky ID, ktery se nevyskytuje v TabZpravyPrijemce.ZpravaID (neexistuje zaznam)
tak muzes jedine vyhledat v TabZpravy zaznamy jejich ID neexistuje v TabZpravyPrijemce.
a to logicky blbost, aby v systemu existovala zprava pro neexistujicicho uzivatele co?

ale mas myslim spatne navrzenou tu db.

TabZpravyPrijemce ma obsahovat jen info o uzivatelich, ale zadne odkazy na zpravy.
Naopak TabZpravy by melo obsahovat sloupecky precteno, uzivatelID.
Protoze jeden uzivatel muze mit vice zprav, takze musis mit v TabZpravy kazdou zpravu v jednom zaznamu,
ale musis mit zaroven v TabZpravyPrijemce taky pro kazdou zpravu jeden radek.
TabZpravyPrijemce

Citovat příspěvek

 

Složitější LEFT JOIN

Autor: David Plšek ♂

10:28:53 23.03.2016

Timto dotazem se vytáhnu počet nepřečtených zpráv pro vybraného uživatele:

SELECT COUNT(*) FROM TabZpravy
LEFT JOIN TabZpravyPrijemce ON TabZpravyPrijemce.ZpravaID = TabZpravy.ID
WHERE TabZpravyPrijemce.UzivatelID = 1 AND TabZpravyPrijemce.Precteno = 0

Šel by ten dotaz předělat tak , aby vracel počet nepřečtených uživatelů i za předpokladu že by nexistoval záznam v tabulce TabZpravyPrijemce?

Jakmile tam není, tak se má zato, že zpráva je nepřečtena.

Děkuji

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: