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

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 0
    dnes 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 21
    včera 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    včera 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 10
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1630 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 990×
    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.