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í
×
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 1
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

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

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

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

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 5
    včera 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    5.5. 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    5.5. 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (15%)
     (14%)
    Celkem 119 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: Jak spojit vše ze dvou tabulek

    20.4.2013 11:25 Dan
    Jak spojit vše ze dvou tabulek
    Přečteno: 871×
    Zdravím, mám dvě tabulky (user_log a log) a chtěl bych je vypsat do jedné tabulky, ale když jsem zkoušel:
    SELECT * FROM user_log UNION ALL log
    
    Tak my to vyhodí vyjímku The used SELECT statements have a different number of columns Já bych ale potřeboval všechny data z obou tabulek a nad nimi udělat WHERE created > '2013-02-02' user_log má 10 sloupcá a log jen 5, takže bych pak ve výpisu prostě nechal prázdné místo když tam ta hodnota nění. Jak něco takového udělat?

    Řešení dotazu:


    Odpovědi

    20.4.2013 11:56 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Jak spojit vše ze dvou tabulek
    outer join ?

    Môžeš sem dať štruktúru tých tabuliek?
    20.4.2013 14:20 jekub
    Rozbalit Rozbalit vše Re: Jak spojit vše ze dvou tabulek
    Pokud ty tabulky nesouvisí, tak je chcete sjednotit. To samozrejme je možné. Např.
    select * from(
    select 'user_log',col1,col2,null from user_log
    union all
    select 'log',col1,null,col2 from log
    ) where col1=42
    
    Pokud je chcete spojit, použijete join (inner, left, right, full, cross)
    Řešení 1× (jekub)
    21.4.2013 22:36 Logik
    Rozbalit Rozbalit vše Re: Jak spojit vše ze dvou tabulek
    Nevím, jestli Ti to je z předchozích odpovědí jasný, ale pokud jak předpokládám chceš ty tabulky pod sebou, tak z jedné musíš udělat takový select, aby datový typy odpovídaly datovým typům v druhé tabulce. Pokud tabulce log odpovídá prvních pět sloupců v user_log, jde to takto:

    SELECT * FROM user_log UNION ALL SELECT log.*, null, null, null, null, null FROM log

    ...pokud jsou sloupce napřeskáčku, nezbyde Ti, než v druhém selectu sloupce postupně vyjmenovat a proložit null.

    V některých databázích je také třeba určit datový typ toho null sloupce, např. CAST(null as integer)

    Pak je ještě o něco čistší cesta: Vytvoř si nad log view (pomocí selectu výše) a pak udělej jednoduchej union na ten view.

    Ale pokud něco takového potřebuješ, zamyslel bych se, zdali ve skutečnosti není chyba v návrhu a neměla být původně tabulka log a log_user jedna dohromady.

    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.