jeden select?
Karel Zak
zakkr na zf.jcu.cz
Čtvrtek Říjen 4 11:23:17 CEST 2001
On Thu, Oct 04, 2001 at 10:23:44AM +0200, Ondrej Koala Vacha wrote:
>
> Dobrý den,
>
> mam následující dotaz.
> Mám doklady, které jsou v dvojici tabulek - hlavičky a řádky:
> create table doklady_hlavicky (
> id int(5),
> id_adresy int(5) # -> adresy.id
> );
> create table doklady_radky (
> id_doklady_hlavicky int(5),
> id_veci int(5), # -> veci.id
> mnozstvi int(5)
> );
>
> a tabulky s adresami a věcmi:
> create table adresy (id int(5), nazev char(10));
> create table veci (id int(5), nazev char(10));
>
> Zjistit, jaké množství patří k jaké adrese je téměř trivální:
>
> select sum(doklady_radky.mnozstvi)
> from adresy,veci,doklady_hlavicky,doklady_radky
> where
> doklady_hlavicky.id = doklady_radky.id_doklady_hlavicky
> and doklady_hlavicky.id_adresy = adresy.id
> and doklady_radky.id_veci = veci.id
> group by adresy.id,veci.id
>
>
> A teď dotaz: kdybych měl ještě jednu dvojici tabulek dokladů,
> je možno tento dotaz udělat opět jedním selectem? Zkoušel jsem to,
> ale nepodařilo se mi ani dosáhnout funkčnosti, o rychlosti ani nemluvě.
Napada mne union, ale ten asi MySQL nema (tise prepokladam, ze je jedna
o MySQL:-)
IMHO by bylo zajimavejsi zamyslet se nad tim, chci-li opravdu dve tabulky,
bez nejakeho vzajemneho vztahu a pritom s nima pracovat najednou.
> Samozřejmě se dá udělat pro každou tabulku dokladů jeden select,
> výsledky někam schovat a nakonec zobrazit.
Ano, dva selecty do jedne tabulky a treti na poslani na klienta.
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Test