abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 2
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 11
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 27
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 6
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 148 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    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: 1240×
    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: 72 | 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.