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

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 10
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 30
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 162 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Dotaz: MySQL názvy sloupců ve výsledku dotazu

    15.1.2015 11:30 Terka | skóre: 13
    MySQL názvy sloupců ve výsledku dotazu
    Přečteno: 393×
    zdrojová data:
    DATE	      HK      IN	MY
    2015-01-15    1028    1279	1569
    
    ráda bych dostala selectem všechny sloupce, které mají hodnotu větší než 1200, tj. IN, MY
    Je toto řešitelné?
    Díky!
    

    Řešení dotazu:


    Odpovědi

    15.1.2015 11:37 DarkKnight | skóre: 26
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Dotazy v sql jsou vzhledem k radkum, tj muzes ziskat radek, kde nektera z hodnot ma vetsi hodnotu nez 1200. Nasledne to muzes filtrovat v aplikaci (abys zjistila, o ktery sloupec jde), nebo muzes mit tri rozdilne query (jednu pro kazdy sloupec).
    15.1.2015 11:46 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Díky za odpověď, bohužel mi moc nepomohla:
    Ráda bych to toťiž vyřešila na úrovni MySQL.
    A to dynamicky, aby query nezáviselo na názvech sloupců.
    Díky.
    Řešení 1× (Tarmaq)
    15.1.2015 11:52 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    SELECT DATE, HK AS value FROM table WHERE value>1200
    UNION ALL
    SELECT DATE, `IN` AS value FROM table WHERE value>1200
    UNION ALL
    SELECT DATE, MY AS value FROM table WHERE value>1200
    
    Délka dotazu je daní za chybnou normalizaci databáze.

    Doporučuji psát názvy sloupců malými písmeny.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.1.2015 12:12 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Ano, návrh je špatný. 
    Šlo by v mysql něco jako:
    
    for i in (select country from country) do
    select i AS value FROM table WHERE value>1200
    done
    
    Cílem je dostat jednotlivé země a dál je použít v dalším query.
    Tarmaq avatar 15.1.2015 12:21 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Neco podobneho by se dalo vyresit v procedure pomoci kurzoru, ale opravdu stejne jako Kit doporucuju normalizaci databaze. Jednim z benefitu by bylo zajisteni integrity dat.
    Don't panic!
    15.1.2015 13:42 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    A jak konkrétně by to šlo?
    Tarmaq avatar 15.1.2015 15:09 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    bohuzel nemam zadnou mysql db po ruce, ale melo by to jit nejak takto:
    1. Prochazet kurzorem zaznamy v tabulce countries (viz dokumentace)
    2. V kazde iteraci si splacat SQL kde bude nazev vybraneho sloupce tvoren kodem iterovane zeme
    3. Takto vytvorene sql spustit a pokud bude hodnota vetsi nez 1200, pridat ho do docasne tabulky
    4. Na konci procedury vratit obsah docasne tabulky
    PS: co brani normalizaci databaze?
    Don't panic!
    15.1.2015 16:31 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Tak mam reseni 
    select column_name
      from information_schema.columns 
     where table_schema ....
       and table_name = 
       and column_name !='DATE'
    
    
    >PS: co brani normalizaci databaze? 
    Aplikace co funguje a je pro me mnohem jednodussi upravit kousek nez predelavat vetsi kus.
    Kdyz bude cas tak treba jednou.
    
    Diky za pomoc, ty kurzory by me zajimaly jak by to query vypadalo..
    
    15.1.2015 16:38 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Klasická reflexe. Vypadá to dobře.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.1.2015 16:34 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Ono to jde i reflexí
    DESCRIBE table;
    a pak iterovat s vynecháním sloupce DATE. Ovšem je to hnus.

    Normalizaci brání zřejmě fakt, že tu tabulku dělal někdo jiný a Terka z toho jen potřebuje vyzobat data. Už jsem před podobnou záležitost byl postaven a pokud do toho systému jiný proces sype data, tak zákazníka ke změně struktury donutíš jen stěží.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    19.1.2015 11:53 Štefan
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    .. teda nevím jak tomu zadání rozuměli ostatní tady, ale já bych to viděl takto:

    select * from TABULKA where IN>1200 or MY>1200;

    "*" lze zaměnit za výčet potřebných sloupců

    "TABULKA" zaměnit za váš název tabulky

    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.