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

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 10
    dnes 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    včera 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

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

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (31%)
     (3%)
     (11%)
     (3%)
     (1%)
     (3%)
     (14%)
     (22%)
     (14%)
    Celkem 74 hlasů
     Komentářů: 18, poslední dnes 15:30
    Rozcestník

    Dotaz: mysql - select + join : z jaké tabulky jsou data?

    3.3.2012 19:14 Dan.K.
    mysql - select + join : z jaké tabulky jsou data?
    Přečteno: 982×
    Ahoj.
    Mám nějaký select se joinem a jaké výsledek bych chtěl mít data, ale rád bych věděl z jaké tabulky ty data jsou.

    Mám třeba dvě tabulky:
    tabulka: xxx
    sloupce: id_x, aaa, bbb
    tabulka: yyy
    sloupce: id_y, ccc, ddd


    Chtěl bych nějaký takovýhle dotaz:
    SELECT * FROM xxx JOIN yyy ON xxx.id_x = yyy.id_y


    Ale nyní mám výsledek:
    id_x = nějaká hodnota
    aaa = nějaká hodnota
    ....atd.


    Ale já bych chtěl výsledek, abych věděl z jaké tabulky ty data jsou.
    Tedy něco jako:
    xxx.id_x = nějaká hodnota
    xxx.aaa = nějaká hodnota
    ...
    yyy.id_y = nějaká hodnota
    ...atd.


    Je to možné udělat, když mám jako select hvězdičku? Díky.

    Řešení dotazu:


    Odpovědi

    3.3.2012 19:41 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    Není. Pokud chceš sloupce přejmenovat, musíš je vyjmenovat explicitně. Není to takovej problém, protože si můžeš z information_schema (předpokládám, že to řeší v mysql) ty názvy sloupců získat a do SQL skriptu je vložit "automaticky".

    http://dev.mysql.com/doc/refman/5.0/en/columns-table.html
    3.3.2012 20:36 jekub
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    smím se zeptat k čemu tuto informaci potřebujete?
    3.3.2012 21:07 jekub
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    ale neměl by to být problém.
    typedef struct st_mysql_field {
      char *name;                 /* Name of column */
      char *org_name;             /* Original column name, if an alias */
    char *table;                /* Table of column if column was a field */  
      char *org_table;            /* Org table name, if table was an alias */
      char *db;                   /* Database for table */
      char *catalog;	      /* Catalog for table */
      char *def;                  /* Default value (set by mysql_list_fields) */
      unsigned long length;       /* Width of column (create length) */
      unsigned long max_length;   /* Max width for selected set */
      unsigned int name_length;
      unsigned int org_name_length;
      unsigned int table_length;
      unsigned int org_table_length;
      unsigned int db_length;
      unsigned int catalog_length;
      unsigned int def_length;
      unsigned int flags;         /* Div flags */
      unsigned int decimals;      /* Number of decimals in field */
      unsigned int charsetnr;     /* Character set */
      enum enum_field_types type; /* Type of field. See mysql_com.h for types */
      void *extension;
    } MYSQL_FIELD;
    
    4.3.2012 06:55 Dan.K.
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    Díky.
    No, z toho se mi to stejně nějak nepodařilo rozluštit, abych si mohl pozměnit to pojmenování sloupců :( Takže to asi nepůjde :( ...nebo aspoň mě to nejde.

    Jinak proč to potřebuji?
    - když už musím spojovat více než jen dvě tabulky, už je to trochu méně přehledné a já bych rád přesně věděl, které data jsou ze které tabulky
    - a druhý a asi důležitější důvod je, že občas mám dvě tabulky, které mají stejný název sloupce (např. "id") a při použití hvězdiček mi to vyhazuje chybu, že je tam jeden sloupec duplikován
    4.3.2012 08:34 jekub
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    1/ pokud je dotaz z programu, není problém vygenerovat aliasy

    2/ nebo použijte pohled (view), kde si sloupce pojmenujete jak chcete (tab1_col1, ..., tabN_colN)
    4.3.2012 09:00 Kit
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    Většinou potřebuji z každé tabulky jen některé údaje a zrovna "id" mě zpravidla vůbec nezajímají. Zastávám názor, že vývojář by měl přesně vědět, které sloupce z tabulky potřebuje a jen ty uvádí v dotazu.

    Jinými slovy bych hvězdičky nechal jen v úvodních kapitolách učebnic a nerefaktorovaných aplikacích.
    6.3.2012 21:09 DK
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    hvezdicky nepouzivej, bude to o dost pomalejsi, pokud mas schema xxx
    - id
    - aaa
    yyy
    - id
    - bbb
    - ccc
    zzz
    - id
    - ddd
    - eee
    ...
    tak pouzij SELECT xxx.aaa,yyy.bbb,zzz.ddd,zzz.eee FROM xxx LEFT JOIN yyy ON xxx.id=yyy.id LEFT JOIN zzz ON xxx.id=zzz.id
    7.3.2012 16:50 sidik
    Rozbalit Rozbalit vše Re: mysql - select + join : z jaké tabulky jsou data?
    SELECT
    tabulka1.jmeno tabulka1_jmeno,
    tabulka2.jmeno tabulka2_jmeno
    FROM prvni_tabulka tabulka1
    LEFT JOIN druha_tabulka tabulka2
    ON tabulka2.id = tabulka1.taky_id
    Musíš sloupce vyjmenovat, což je stejně rozumný nápad, protože tahat všechno, ikdyž potřebuješ ve výsledku třeba jen tři nebo čtyři sloupce, je prasárna ;)

    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.