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 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 22
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (13%)
    Celkem 90 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    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: 1335×
    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.