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í
×
    dnes 04:22 | Nová verze

    Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.

    Fluttershy, yay! | Komentářů: 0
    včera 17:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.

    Ladislav Hagara | Komentářů: 1
    včera 13:55 | Komunita

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.

    Ladislav Hagara | Komentářů: 28
    včera 04:22 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.

    Ladislav Hagara | Komentářů: 1
    21.8. 22:22 | Nová verze

    Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    21.8. 21:55 | Komunita

    Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    21.8. 14:55 | IT novinky

    Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.

    Ladislav Hagara | Komentářů: 6
    21.8. 12:44 | Bezpečnostní upozornění

    Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze

    … více »
    Ladislav Hagara | Komentářů: 1
    20.8. 21:11 | IT novinky

    Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.

    Ladislav Hagara | Komentářů: 25
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (76%)
     (10%)
     (4%)
     (4%)
     (6%)
     (0%)
    Celkem 51 hlasů
     Komentářů: 6, poslední 21.8. 13:35
    Rozcestník

    Dotaz: SQL dotaz - 2 tabulky

    20.3.2013 21:37 Petr
    SQL dotaz - 2 tabulky
    Přečteno: 1019×
    potřebuji poradit, lze nějak vytvořit takový SQL dotaz? Mám MySQL tabulky TAB1(Rec Long primary key, Typ int) a TAB2(Rec Long, Krok varchar(5), Datum date) a potřebuji vypsat Rec z TAB1, kde Typ = např. 1 a v TAB2 je s tímto Rec Krok 'KrokA' a zároveň není žádný Krok 'KrokB' s datem větším než u 'KrokA'. Snad je to srozumitelné. Děkuji za pomoc.

    Odpovědi

    20.3.2013 22:41 kuka
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    Spojeni TAB1 s TAB2 s podminkou na KrokA by melo byt trivialni, nasledne ... and not exists (dotaz na KrokB podle kriterii) a podle moznosti duplicity KrokA pak pripadne jeste distinct.
    20.3.2013 23:32 Petr
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    ano, s podmínkou jen na 'KrokA' bych udělal SELECT DISTINCT TAB1.Rec FROM TAB1,TAB2 WHERE TAB1.Rec=TAB2.Rec AND Krok = 'KrokA'; Ale jak tam dodat podmínku na nepřitomnost 'KrokB' a ještě jen s datem větším než u toho nalezeného 'KrokA' (A to ještě teoreticky by pro jeden Rec mohlo záznamů kde Krok = 'KrokA' být i více a v tom případě by mě zajímal ten poslední (s nejvyšším datem) a testovat nepřítomnost 'KrokB' po tomto datu), to nevím ...
    21.3.2013 08:26 j
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    na prasaka (nezarucuju syntax):
    
    select * (
    
    select * from tab1
     join (select rec, max(datum) from tab2 where krok = "kroka") as s1
        on tab1.rec = s2.rec
     join (select rec, max(datum) from tab2 where krok = "krokb") as s2
        on tab1.rec = s2.rec
    )
    
    where s1.datum > s2.datum
    
    
    21.3.2013 08:30 j
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    a jasne, uz tam vidim min jeden bug ... prvni join ma byt na s1 samo ...
    21.3.2013 09:18 kuka
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    No prida se tam and not exists (select vybirajici KrokB s vyssim datumem). Jestli chces maximalni datum, tak nakonec neudelas distinct, ale group by. Pokud tyto konstrukce neznas (exists, group by), tak si je nekde dohledej, to jsou azklady SQL, bez kterych se daleko nedostanes. Vysledny dotaz bude de facto ten tvuj slovni pozadavek zapsany "anglicky".
    21.3.2013 14:34 Petr
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    Základy SQL znám, ale v tomto případě prostě nevím. Mohl byste mi prosím napsat celý SQL dotaz?
    21.3.2013 15:50 kuka
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    Tak treba
    select t1.rec, max(krok_a.datum)
    from t1, t2 krok_a
    where t1.rec = krok_a.rec
      and krok_a.krok = 'KrokA'
      and not exists( select 0 from t2 krok_b
                        where krok_b.rec = t1.rec
                          and krok_b.krok = 'KrokB'
                          and krok_b.datum > krok_a.datum)
    group by t1.rec
    
    konkretne toto lze udelat jednoduchym group by jen nad tabulkou t2, coz doporucuju jako cviceni.
    21.3.2013 08:12 Tomáš
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky

    Asi tak nějak (čistě syntaktický přepis Vašeho zadání):

    select t1.Rec
    from TAB1 as t1
    join TAB2 as t2 
      on t1.Rec=t2.Rec and t.Krok='KrokA' and t1.Typ=1
    left join ( 
      select Rec,min(Datum) as dt
      from TAB2
      where Krok='KrokB'
      group by Rec
    ) as t3
     on t2.Rec=t3.Rec and t2.Datum < t3.dt 
    where t3.Rec is null  
    

    Kdyby jste uvedl co je v TAB2 (primárním) klíčem, tak to možná šlo ještě jednodušeji ( jedna agregace plus jeden join ).

    21.3.2013 10:35 Petr
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky
    Děkuji, tohle vypadá nadějně, ale potřebuji z TAB2 najít poslední (s nejvyšším datem) záznam, kde Krok = 'KrokA' a pak už po něm není žádný záznam 'KrokB'
    21.3.2013 21:19 Tomáš
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky

    Zase jen syntaktický přepis (bez jakékoliv znalosti skutečného problému)

    select
      Rec
      ,max(case when Krok='KrokA' then Date else null end ) -- poslední datum pro KrokA
    from TAB2
    group by Rec
    having  
      max( case when Krok='KrokA' then Date else null end )  -- nejvyssi datum pro KrokA ( = poslední)
      > -- je větší než
      max( case when Krok='KrokB' then Date else null end )  -- nejvyšší datum pro KrokB
    
    21.3.2013 21:33 Tomáš
    Rozbalit Rozbalit vše Re: SQL dotaz - 2 tabulky

    Ještě jsem zapoměl na dva okrajové případy, kdy jeden z kroků není k dispozici

    select
      Rec
      ,max(case when Krok='KrokA' then Date else null end ) -- poslední datum pro KrokA
    from TAB2
    group by Rec
    having
      max( case when Krok='KrokA' then Date else null end ) is not null -- existuje krokA
     and -- a zároveň
      (
         max( case when Krok='KrokA' then Date else null end )  -- nejvyssi datum pro KrokA ( = poslední)
         > -- je větší než
         max( case when Krok='KrokB' then Date else null end )  -- nejvyšší datum pro KrokB
      or -- nebo se krokB nedohledá
         max( case when Krok='KrokB' then Date else null end ) is NULL 
     
      )
    

    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.