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 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 4
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    8.8. 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 8
    8.8. 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 2
    8.8. 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 10
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 318 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 1297×
    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.