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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 21:21 | Nová verze Ladislav Hagara | Komentářů: 0
včera 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

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

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 1
6.12. 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 24
6.12. 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 785 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 910×
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.