abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 7
    včera 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

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

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    včera 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    včera 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (11%)
     (10%)
    Celkem 298 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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: 947×
    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.