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 11:00 | Komunita

Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už zítra 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.

xkucf03 | Komentářů: 0
včera 21:55 | Komunita

Nadace pro svobodný software (FSF) oznámila aktualizaci seznamu prioritních oblastí (changelog), na které by se měli vývojáři a příznivci svobodného softwaru zaměřit. Jsou to například svobodný operační systém pro chytré telefony, hlasová a video komunikace nebo softwarový inteligentní osobní asistent.

Ladislav Hagara | Komentářů: 3
včera 16:44 | Nová verze

Byla vydána verze 2.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Komunita

V australském Hobartu probíhá tento týden konference linux.conf.au 2017. Na programu je celá řada zajímavých přednášek. Sledovat je lze online.

Ladislav Hagara | Komentářů: 0
včera 10:20 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje bitmapovým (rastrovým) grafickým editorům ve Fedoře. V prvním dílu se věnuje editorům MyPaint, MtPaint, Pinta, XPaint, Krita a GIMP. V pokračování pak editorům GNU Paint (gpaint), GrafX2, KolourPaint, KIconEdit a Tux Paint.

Ladislav Hagara | Komentářů: 1
16.1. 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
16.1. 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 2
16.1. 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 7
15.1. 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
15.1. 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 8
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 309 hlasů
 Komentářů: 24, poslední včera 10:14
    Rozcestník
    Reklama

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