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 13:44 | Zajímavý software

Evropská komise vydala novou verzi 1.4.0.1 svého open source v Javě naprogramovaného softwaru pro online průzkumy EUSurvey. Online dotazníky lze vytvářet na stránkách Evropské komise nebo si lze software stáhnout (zip a war) a nainstalovat lokálně. Zdrojové kódy jsou k dispozici pod licencí EUPL (European Union Public Licence).

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

Ubuntu 17.10 (Artful Aardvark) bude ve výchozím stavu zobrazovat Dok (Launcher). Jedná se o rozšíření GNOME Shellu Ubuntu Dock. To bylo forknuto z rozšíření Dash to Dock. Ukázka na YouTube [reddit].

Ladislav Hagara | Komentářů: 0
17.8. 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
17.8. 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

Ladislav Hagara | Komentářů: 1
17.8. 12:33 | Nová verze

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
17.8. 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 7
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 8
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (76%)
Celkem 358 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Spojení tabulek na základě částečné shody klíče

    16.4.2011 02:50 konstabl
    Spojení tabulek na základě částečné shody klíče
    Přečteno: 371×
    Ahoj. Mám v MySQL 2 tabulky, kvůli přehlednosti uvedu jen jednoduchý příklad:
    lide
    
    jmeno | vek | povolani
    -----------------------
    franta| 55  | architekt
    
    
    
    povolani
    
    nazev | popis
    -------------
    ar%kt | nejaky text
    
    
    Teď bych potřeboval ty 2 tabulky spojit pomocí lide.povolani = povolani.nazev, ovšem v tomto případě není úplná shoda textu. Jak to udělat aby mi to spojovalo i s takovými výrazy?

    Řešení dotazu:


    Odpovědi

    okbob avatar 16.4.2011 07:36 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    a

    SELECT * FROM lide JOIN povolani ON nazev LIKE lide.povolani

    nefunguje?

    v SQL muzete spojovat jak chcete - v tom je jeho sila i potencialni nebezpecnost
    16.4.2011 11:39 konstabl
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Toto bohužel nefunguje.
    16.4.2011 11:41 konstabl
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    No vlastně to funguje, stačilo prohodit výrazy na stranách LIKE. Díky.
    16.4.2011 11:48 Filip Jirsák | skóre: 66 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Zkusil jsem teď v H2 obě varianty joinu, a obě dávají očekávaný výsledek. Takže by to muselo být nějaké specifikum MySQL. Co znamená „nefunguje“? Hlásí vám to nějakou chybu, vrací jiné záznamy?
    CREATE TABLE lide (
      jmeno VARCHAR,
      vek TINYINT,
      povolani VARCHAR
    );
    
    CREATE TABLE povolani (
      nazev VARCHAR,
      popis VARCHAR
    );
    
    INSERT INTO lide (jmeno, vek, povolani) VALUES ('Franta', 55, 'architekt');
    INSERT INTO povolani (nazev, popis) VALUES ('ar%kt', 'nejaky text');
    
    SELECT * FROM lide JOIN povolani ON lide.povolani LIKE povolani.nazev;
    SELECT * FROM lide, povolani WHERE lide.povolani LIKE povolani.nazev;
    JMENO  	VEK  	POVOLANI  	NAZEV  	POPIS  
    Franta	55	architekt	ar%kt	nejaky text
    
    16.4.2011 15:23 konstabl
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Toto funguje:
    SELECT * FROM lide JOIN povolani ON lide.povolani LIKE povolani.nazev;
    
    toto nefungovalo:
    SELECT * FROM lide JOIN povolani ON povolani.nazev LIKE lide.povolani;
    
    Ale je to celkem logické chování.
    Bilbo avatar 16.4.2011 14:07 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Otázkou je, jestli by to nešlo řešit jinak - při spojování přes LIKE nelze použít index a ve chvíli kdy v tabulkách bude více záznamů, tak to bude pomalé (v zásadě MySQL musí pro každý řádek v tabulce povolání projít celou tabulku lide, tedy pokud je v jedné tabulce M a v druhé N záznamů, tak to musí projít M x N záznamů a ve chvíli kdy tam budou tisíce nebo i více záznamů, tak se začne asi projevovat jistá pomalost)

    Na druhou stranu, pokud bude select dělán tak, že z povolání se bude vybírat max. jeden nebo dva řádky a pak spojovat, tak se sice musí procházet párkrát celá tabulka lidé, ale nebude to rychlostně až taková katastrofa, pokud nebude tabulka s lidmi příliš velká.
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    okbob avatar 16.4.2011 16:06 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Já předpokládám, že se jedná o jednorázovou úlohu - LIKE v JOINu znamená vždy kartézský součin s filtrem - jinými slovy - nested loop. Není to nic, co bych doporučoval používat opakovaně - a pokud to tazatel potřebuje, tak někde udělal chybu - on nebo jeho analytik.
    Bilbo avatar 16.4.2011 16:29 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Vzhledem k tomu, že ty parametry pro like jsou v tabulkách, tak to na jednorázovku moc nevypadá.

    Ale pokud ve WHERE je kromě like i jiná podmínka, co z jedné (nebo z obou) z těch tabulek vybere jen několik málo řádků (a ten výběr bude přes nějaký sloupec pro který lze použít index), tak ten kartézský součin nemusí být tak strašný - MySQL by měl nejdřív vyfiltrovat ty zajímavé řádky a až pak půjde s nimi na kartézský součin.
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    21.4.2011 17:30 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Spojení tabulek na základě částečné shody klíče
    Pokud se ale něco takovýho musí dělat, tak je to na 100% chyba v designu i porušení NF (ta sice není samospasitelná, ale o kvalitě návrhu dosti často dost napoví).

    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.