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 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 0
    dnes 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

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

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 1
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 362 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    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: 980×
    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.