Autor Zpráva
quickspider
Profil
Dobrý den,
mám tabulky hraje_jméno herce, které obsahují sloupce de (původní název dílu), postava, funkce...
tabulka díly obsahuje sloupce de, rada...
a pak mám tabulku postava se sloupci postava, jméno, příjmení...

Nedaří se mi zajistit, aby se vypsaly jména a příjmení postav které hrají například v řadě 1

select select dily.rada, hraje_frank.de, hraje_frank.postava as postava, hraje_frank.funkce, hraje_ingo.de, hraje_ingo.postava as postava, hraje_ingo.funkce from hraje_frank, hraje_ingo join dily using (de) where dily.rada=01

spojí tabulky dohromady podle řady 01

select postava from postava


nedaří mi ale oba příkazy spojit

select select dily.rada, hraje_frank.de, hraje_frank.postava as postava, hraje_frank.funkce, hraje_ingo.de, hraje_ingo.postava as postava, hraje_ingo.funkce from hraje_frank, hraje_ingo join dily using (de) where dily.rada=01 and postava = (select postava from postava)


děkuji
Stano
Profil *
typujem že potrebuješ http://www.ageent.ru/sk/sql-left-join.html
quickspider
Profil
kdyby se jednalo o spojení 2 tabulek, tak si s tím poradím. Postav je cca 10 a to už mi nejde. Myslím si že řešení je pomocí subselektu, protože spojím tabulky hraje_jmeno herce a potom je potřebuju spárovat s jmény z tabulky postav.
tatyalien
Profil
Píšu to z hlavy:
nevím jak máš propojené tabulky stejnejma datama (id), tak si tam dodej misto .nazev_sloupce správné názvy:

select dily.rada, hraje_frank.de, hraje_frank.postava as postava, hraje_frank.funkce, hraje_ingo.de, hraje_ingo.postava as postava, hraje_ingo.funkce from hraje_frank left join on (hraje.fank = hraje_ingo.nazev_sloupce) left join dily on (dily.nazev_sloupce = hraje.nazev_sloupce) where dily.rada=01
Tori
Profil
quickspider:
To máte pro každého herce extra tabulku?? Spíš bych dala do jedné tabulky všechny herce, kteří se v tom seriálu kdy vyskytli a pak to propojila vazební tabulkou s postavami a díly (tabulka 'ucinkovali': id_herce, id_postavy, id_dilu). Líp se s takovou databází bude pracovat, nemusíte se pak snažit navázat obsah sloupce na část názvu jiné tabulky.
quickspider
Profil
Tori:
přišlo mi to úspornější než mít v jedné tabulce 10x název dílu a k tomu postavu. I když každá větší role nehraje v každém dílu, tak při 220 dílech by bylo cca 1800 záznamů v tabulce. To mi přišlo jako hodně.

Předchozí variantu jsem měl rozdělenou podle sérií a v nich jednotlivé herce a díly - tam nastával obdobný problém s výpisem dílů ve kterých hrála určitá postava.
quickspider
Profil
tatyalien:
tak jsem dopravil názvy, ale hlásí to stejně jako v 1. příspěvku chybný sql syntax
Tori
Profil
quickspider:
přišlo mi to úspornější než mít v jedné tabulce 10x název dílu a k tomu postavu
No nevím, pořád mi to připadá jako chybný návrh db. V té vazební tabulce by přece byla jen ID (postavy, herce, epizody) a jeden primární klíč přes všechny tři sloupce, takhle máte o x tabulek a x indexů víc (a ještě s každou novou postavou budete muset přepisovat sql dotazy).
quickspider
Profil
Tori:
máte pravdu když budou všude ID a ne celý název epizody, tak to nebude tak rozsáhlý. akorát dá práci zaměnit názvy za schodná ID jako u dílů. Děkuju

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: