abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 363 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: SQL dotaz - vyber vice hodnot z tabulek

10.9.2011 18:05 xts | skóre: 10
SQL dotaz - vyber vice hodnot z tabulek
Přečteno: 1176×
zdravim, prosim o pomoc s sql dotazem, uz do toho cumim nekolik veceru a nemuzu si to v hlave spravne predstavit tak abych zformuloval funkcni dotaz. Nejlip popisu co potrebuju kdyz pouziju tenhle priklad http://zdrojak.root.cz/clanky/navrh-databaze-nosql-vs-sql/ ten obrazek hned nahore. tedy: zjednodusene mam 3 tabulky:
Kino:
id    nazev    adresa
1     smichov  praha 5
2     galaxie  praha 4

Filmy (pro zjednoduseni jen nazev):
id    nazev
1     blade
2     blade 2
3     saturnin
4     transformers
5     akta X

Predstaveni (kde se co hraje, kino_id je id z tab. kino, film_id je id z tab. Filmy):
id    kino_id  film_id
1     1        1
2     1        2
3     1        5
4     2        2
5     2        3
6     2        4
7     2        5

no a ted potrebuju vybrat kino ktery hraje filmy 3,4 a 5. Dotazy mi vratej bud 3 ruzny polozky, nebo nic. Potrebuju zformulovat dotaz ktery mi vrati jako vysledek kino c.2 protoze hraje filmy 3,4 i 5. diky za napady

Řešení dotazu:


Odpovědi

10.9.2011 19:20 jekub
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
Pokud je
(kino_id,film_id)
v tabulce
predstaveni
unikátní, tak by mohlo fungovat
select k.id
from kino k,filmy f, predstaveni p
where
k.id=p.kid and f.id=p.fid and f.id in(3,4,5)
group by k.id
having count(*)=(
   select count(*) from filmy where f.id in(3,4,5)
)
Řešení 1× (xts (tazatel))
10.9.2011 20:03 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek

Pokud unikátní není, šlo by např.

  select distinct K.ID from KINA K
    inner join PREDSTAVENI P3 on P3.KINO_ID=K.ID and P3.FILM_ID=3
    inner join PREDSTAVENI P4 on P4.KINO_ID=K.ID and P3.FILM_ID=4
    inner join PREDSTAVENI P5 on P5.KINO_ID=K.ID and P3.FILM_ID=5

nebo

  select distinct P3.KINO_ID from PREDSTAVENI P3 where P3.FILM_ID=3
    inner join PREDSTAVENI P4 on P4.KINO_ID=P3.KINO_ID and P3.FILM_ID=4
    inner join PREDSTAVENI P5 on P5.KINO_ID=P3.KINO_ID and P5.FILM_ID=5

případně přes subselecty

  select K.ID from KINA K
    where exists (select P3.ID from PREDSTAVENI P3 where P3.KINO_ID=K.ID and P3.FILM_ID=3)
      and exists (select P4.ID from PREDSTAVENI P4 where P4.KINO_ID=K.ID and P4.FILM_ID=4)
      and exists (select P5.ID from PREDSTAVENI P5 where P5.KINO_ID=K.ID and P5.FILM_ID=5)
10.9.2011 20:28 jekub
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
Pokud by to nebylo unikátní, asi bych použil
select k.id
from kino k,filmy f,(
   select distinct kid,fid from predstaveni
) p
where
k.id=p.kid and f.id=p.fid and f.id in(3,4,5)
group by k.id
having count(*)=(
   select count(*) from filmy where f.id in(3,4,5)
)
13.9.2011 00:09 xts | skóre: 10
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
tohle mi pise chybu #1054 - Unknown column 'kid' in 'field list'.

Ale alespon jsem si precetl k cemu je distinct :-)

kazdopadne taky dekuju
13.9.2011 00:00 xts | skóre: 10
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
prvni mi nevrati nic, druhy pise chybu #1064 a pise o spatny sql syntaxi, ale treti je super a jede.

Muze to byt nejaka uplna kravinka proc to nejde, tak moc se v slozitejsich dotazech nevyznam, kazdopadne ta treti varianta mi funguje super i v ruznejch upravach takze nad zbylyma nebudu patrat - diky, netusil sem ze ty dotazy jdou takhle vnorit.
12.9.2011 23:55 xts | skóre: 10
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
ne, tam je unikatni id.
10.9.2011 22:24 kuka
Rozbalit Rozbalit vše Re: SQL dotaz - vyber vice hodnot z tabulek
na toto se pouziva exists, v tvem pripade konjunkce tri exists podminek, pro kazdy film jedna

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.