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:



Dvě tabule

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Dvě tabule

Autor: Já_David

23:48:01 18.11.2011

Mockrát děkuju, funguje!

> tohle resi left join, ale nedava to moc smysl,
> autora bys tam mel mit vzdycky. Vetsinou se to
> resi tak, ze se zaznamy nemazou, ale prida se
> nejaka identifikace, jestli je zaznam aktivni. Pak
> se autor treba nemuze prihlasit, ale porad se da u
> clanku dohledat, kdo ho zadal.

Za tuto informaci taky děkuju - nebyl jsem si dosud jistý, jak se to mazání uživatelů přesně dělá.

Citovat příspěvek

 

Re: Dvě tabule

Autor: Mi.Chal

20:15:41 17.11.2011

Já_David Napsal:
-------------------------------------------------------
> přičemž chci, aby se mi vypsaly všechny články a
> fotoalba, které obsahují v textu nějaký řetězec
> (na to jsem použil like) a zároveň mi to v jednom
> záznamu vrátilo údaje o autorovi

zrejme chces neco jako

select clanek.id, clanek.nadpis, autor.jmeno
from clanek
left join uzivatele on uzivatele.id = clanek.autor
order by nadpis, jmeno

a podobne

select fotoalba.id, fotoalba.nazev
from fotoalba
left join uzivatee on ...

tyhle dva dotazy muzes spojit pres union, akorat si tam pridej nejakou identifikaci, jestli to je album nebo clanek, at to mas jak rozlisit, napr.

select 1 as typ, clanek.id ...
union
select 2, album.id, ...

> (přičemž chci
> vypsat i ty články/fotoalba, u nichž už autor v
> tabulce uzivatele není).

tohle resi left join, ale nedava to moc smysl, autora bys tam mel mit vzdycky. Vetsinou se to resi tak, ze se zaznamy nemazou, ale prida se nejaka identifikace, jestli je zaznam aktivni. Pak se autor treba nemuze prihlasit, ale porad se da u clanku dohledat, kdo ho zadal.

Citovat příspěvek

 

Dvě tabule

Autor: Já_David

19:23:29 17.11.2011

Dobrý den,

peru se s následujícím problémem.

Mám tři tabulky se sloupci:
[code]clanek - id, nadpis, text, autor
fotoalba - id, nazev, autor
uzivatele - id, jmeno, email[/code]
přičemž chci, aby se mi vypsaly všechny články a fotoalba, které obsahují v textu nějaký řetězec (na to jsem použil like) a zároveň mi to v jednom záznamu vrátilo údaje o autorovi (přičemž chci vypsat i ty články/fotoalba, u nichž už autor v tabulce uzivatele není). Záznamy by měly být seřazeny podle nadpisu a názvu (od a do z), tady si s orderem taky nejsem jist. Výsledek by měl vypadat nějak takhle:
[code]clanek.id, clanek.nadpis (autobus), clanek.text, uzivatel.id, uzivatel.jmeno, uzivatel.email
fotoalba.id, fotoalba.nazev (bobr), uzivatel.id, uzivatel.jmeno, uzivatel.email
clanek.id, clanek.nadpis (klapka), clanek.text, uzivatel.id, uzivatel.jmeno, uzivatel.email
fotoalba.id, fotoalba.nazev (klavír), uzivatel.id, uzivatel.jmeno, uzivatel.email
fotoalba.id, fotoalba.nazev (tužka), uzivatel.id, uzivatel.jmeno, uzivatel.email
.
.
.
[/code]
Mám dojem, že se beztak jedná o nějakou prkotinu, ale nemůžu jí za boha přijít na kloub. Zkoušel jsem pokusy s inner joinem, to mi ale vrátilo v jednom záznamu i fotoalbum a pak jsem to vzdal. Být tam jedna tabulka poradím si bez problémů. Se dvěma jsem takto ale v koncích. Variantou by mohly být dva dotazy, je to ale nepohodlné a nezdá se mi, že by se to tak mělo dělat. Poradíte mi, prosím, někdo jak dál?

David

Citovat příspěvek

 

 

 

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

Uživatelské jméno:

Heslo: