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

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 2
    dnes 12:22 | Nová verze

    Byla vydána nová stabilní verze 7.8 dnes již jedenáctiletého webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 144. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    dnes 10:33 | Nová verze

    GNU gettext (Wikipedie), tj. sada nástrojů pro psaní vícejazyčných programů, dospěl do verze 1.0. Po více než 30 letech vývoje. Přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 1
    dnes 05:11 | IT novinky

    Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.

    Ladislav Hagara | Komentářů: 12
    včera 20:11 | Nová verze

    Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | Zajímavý projekt

    Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.

    NUKE GAZA! 🎆 | Komentářů: 27
    včera 14:11 | Zajímavý projekt

    Computer History Museum (Muzeum historie počítačů) zpřístupnilo své sbírky veřejnosti formou online katalogu. Virtuálně si tak můžeme prohlédnout 'rozsáhlou sbírku archivních materiálů, předmětů a historek a seznámit se s vizionáři, inovacemi a neznámými příběhy, které revolučním způsobem změnily náš digitální svět'.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 14:00 | Zajímavý projekt

    Ruský hacker VIK-on si sestavil vlastní 32GB DDR5 RAM modul z čipů získaných z notebookových 16GB SO-DIMM RAM pamětí. Modul běží na 6400 MT/s a celkové náklady byly přibližně 218 dolarů, což je zhruba třetina současné tržní ceny modulů srovnatelných parametrů.

    NUKE GAZA! 🎆 | Komentářů: 15
    včera 11:00 | Upozornění

    Národní identitní autorita (NIA), která ovlivňuje přihlašování prostřednictvím NIA ID, MEP, eOP a externích identit (např. BankID), je částečně nedostupná.

    Ladislav Hagara | Komentářů: 9
    včera 02:44 | Nová verze

    Byla vydána nová verze 1.16.0 klienta a serveru VNC (Virtual Network Computing) s názvem TigerVNC (Wikipedie). Z novinek lze vypíchnout nový server w0vncserver pro sdílení Wayland desktopu. Zdrojové kódy jsou k dispozici na GitHubu. Binárky na SourceForge. TigerVNC je fork TightVNC.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (23%)
     (3%)
     (5%)
     (2%)
     (12%)
     (33%)
    Celkem 664 hlasů
     Komentářů: 20, poslední dnes 19:30
    Rozcestník

    Dotaz: SQL napric tabulkami a sloupci

    2.5.2015 17:27 luksyk
    SQL napric tabulkami a sloupci
    Přečteno: 625×
    dobry den,

    mam nekolik tabulek v MySQL jejichz obsah je zhruba tento:
    | ID | VALUE1 | VALUE2 | VALUE3 |
    | 1  | a1     | a10    | a5     |
    | 2  | a11    | a3     | a40    |
    | 3  | a66    | a13    | a0     |
    
    a ted bych rad vybral vsechny zaznamy, ktere obsahuji pismeno "a" a mel je serazene (idealne natural sort, ale netrvam na tom) a to tak, aby vysledek vypadal nejak takto:
    | ID | VALUE  |
    | 3  | a0     |
    | 1  | a1     |
    | 2  | a3     |
    | 1  | a5     |
    | 1  | a10    |
    | 2  | a11    |
    | 3  | a13    |
    | 2  | a40    |
    | 3  | a66    |
    
    zatim to delam hloupe tak, ze to vyhledavam separe a pak to sortuju v PHP. zajima mne, jestli lze sestavit SQL dotaz, ktery by to sam zvladnul

    dekuji.

    Odpovědi

    2.5.2015 17:55 jekub
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Ano, rika se tomu join
    2.5.2015 17:57 jekub
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    sory, beru zpet. Neprecetl sem si poradne dotaz.
    2.5.2015 18:00 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Použij UNION ALL
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.5.2015 23:42 Tomáš
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci

    select
      T.ID
      ,case E.VAL
         when 'VALUE1' then T.VALUE1
         when 'VALUE2' then T.VALUE2
         when 'VALUE3' then T.VALUE3
       end as VALUE
    from T
    cross join razdvatri as E
    order by VALUE
    
    tabulka razdvatri vypadá následovně:
    'VAL'
    ----
    VALUE1
    VALUE2
    VALUE3
    

    Stačí si uvědomit, že jeden zdrojový řádek se roznásobí na tři cílové. Jakým trikem si tabulku razdvatri vyrobíte je na vás.

    Sort je jen třešinka na dortu.

    Další varinata je udělat union ze tří selectů {VALUE1,VALUE2,VALUE3}, ale to znamená sjíždět tabulku T 3× což asi nebude úplně optimální. Paradoxně join na třířádkouvou tabulku razrazdvatři, pravděpodobně vyjde z rychlostně lépe.

    xkucf03 avatar 2.5.2015 23:44 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    SELECT * FROM (
        SELECT id, value1 AS value FROM tabulka WHERE value1 LIKE '%a%'
        UNION ALL
        SELECT id, value2 AS value FROM tabulka WHERE value2 LIKE '%a%'
        UNION ALL
        SELECT id, value2 AS value FROM tabulka WHERE value2 LIKE '%a%'
    ) AS t ORDER BY t.value
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    3.5.2015 09:03 Filip Jirsák
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Pokud potřebujete dělat takovéhle dotazy a dávají smysl, pak to především vypadá, že máte špatně navrženou strukturu databáze. Že by ta tabulka měla vypadat takhle nějak:
    | ID | TYPE  | VALUE |
    | 1  | VALUE1| a1    |
    | 1  | VALUE2| a10   |
    | 1  | VALUE3| a5    |
    | 2  | VALUE1| a11   |
    | 2  | VALUE2| a3    |
    | 2  | VALUE3| a40   |
    | 3  | VALUE1| a66   |
    | 3  | VALUE2| a13   |
    | 3  | VALUE3| a0    |
    
    Pak by i ten vámi požadovaný dotaz byl triviální.
    3.5.2015 10:19 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    EAV má zase nevýhody ve spoustě jiných typů dotazů.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 4.5.2015 15:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Z praktické zkušenosti mohu říct, že nevýhody značně převažují. Než EAV je lepší mít dynamickou strukturu databáze a nechat aplikaci si upravovat vybrané tabulky. Druhá možnost je JSON a serializace z pohledu databáze nepodstatných údajů do jednoho sloupce. Záleží na situaci.
    Hello world ! Segmentation fault (core dumped)
    4.5.2015 18:32 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Nebo použít PostgreSQL a hstore.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    4.5.2015 16:34 Filip Jirsák
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Není jisté, že jde o EAV – je možné, že to vzniklo až zjednodušením pro dotaz v poradně. Vzhledem k tomu, jaký požaduje tazatel výstup, bych spíš tipoval, že o EAV nejde (požadovaný výstup by pak nedával moc smysl).
    Josef Kufner avatar 4.5.2015 15:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    SQL neumí pracovat s proměnlivým počtem sloupců. Viděl bych to na nešikovně navrženou databázi, ale pokud jinak dává smysl, tak řešením je UNION selectů nad jednotlivými sloupci (jak už zde bylo řečeno).
    Hello world ! Segmentation fault (core dumped)

    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.