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í
×
včera 23:55 | Zajímavý článek

Nakladatelství Raspberry Pi vydalo 244 stránkového průvodce pro úplné začátečníky s jednodeskovým počítačem Raspberry Pi The Official Raspberry Pi Beginner’s Guide (pdf). Programování ve visuálním programovacím jazyce Scratch je věnována nová příručka Code Club Book of Scratch Volume 1 (pdf). Vydáno bylo také třetí číslo časopisu věnovaného počítačovým hrám Wireframe (pdf).

Ladislav Hagara | Komentářů: 0
včera 23:44 | Nová verze

U příležitosti oslav jednoho roku prací na debianím balíčku, vyšlo GPXSee 7.0. Nová verze přináší zejména podporu vektorových map (Mapbox PBF) pomocí nově vzniklého Qt pluginu.

Martin Tůma | Komentářů: 0
7.12. 23:33 | Nová verze

UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), oznámila vydání nové verze Ubuntu Touch OTA-6. Zdůrazněna jsou například vylepšení webového prohlížeče Morph.

Ladislav Hagara | Komentářů: 0
7.12. 21:33 | Komunita

Richard Hughes na svém blogu informuje, že se společnost AMI (American Megatrends Incorporated), největší dodavatel firmwarů a BIOSů (AMIBIOS, Aptio, ...), zapojila do projektu LVFS (Linux Vendor Firmware Service). Seznam projektem podporovaných zařízení by se měl tedy časem rozšířit.

Ladislav Hagara | Komentářů: 0
7.12. 20:11 | Komunita

Nadace pro svobodný software (FSF) informuje, že seznam doporučených svobodných distribucí GNU/Linuxu byl rozšířen o distribuci Hyperbola GNU/Linux-libre. Hyperbola vychází z Arch Linuxu a na rozdíl od něj splňuje požadovaná kritéria.

Ladislav Hagara | Komentářů: 6
7.12. 19:55 | IT novinky

Společnost Valve oznámila, že počítačová hra Counter-Strike: Global Offensive (Steam) je nově free to play. Hra Company of Heroes 2 (Steam) je do pondělí 10. prosince zdarma.

Ladislav Hagara | Komentářů: 0
7.12. 00:11 | Nová verze

Byla vydána verze 7.3.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.3. Podrobný přehled novinek v seznamu změn.

Ladislav Hagara | Komentářů: 3
6.12. 23:55 | Nová verze

Byla vydána verze 1.31 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
6.12. 23:40 | Zajímavý článek

V roce 2015 Microsoft s Windows 10 představil i jeho nový prohlížeč Edge, který používal a používá nový engine EdgeHTML. Před pár dny se začaly objevovat zprávy o přechodu na Chromium engine. Nyní Microsoft vydal oficiální vyjádření, kde skutečně potvrdil přechod na Chromium projekt.

Max | Komentářů: 30
6.12. 23:22 | Nová verze

Po 5 měsících vývoje od vydání verze 0.15.0 byla vydána nová verze 0.16.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 95 vývojářů. Přibylo 985 nových balíčků. Jejich aktuální počet je 8 723 . Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (4%)
 (12%)
 (34%)
 (25%)
Celkem 92 hlasů
 Komentářů: 13, poslední 7.12. 10:59
Rozcestník

Dotaz: SQL dotaz

11.1.2017 18:20 Hanyz
SQL dotaz
Přečteno: 1428×
Ahoj, potřeboval bych jednu věc, ale úplně ji zjednoduším.

Mám 2 tabulky. V první tabulce tab1 mám sloupce a1, a2, a3. Všechny sloupce jsou naplněny číselnými hodnotamy. Pak mám druhou tabulku tab2 se sloupci b1, b2, b3. Všechny sloupce jsou taktéž naplěnny číselnými hodnotamy. A teď bych potřeboval, aby sloupec a2 z tab1 byl přepsán (aktualizován) na hodnoty odpovídající sloupci b2 z tabulky tab2. Přičemž, aby to tam jen tak nenaházel, tak přepiš data jen tam, kde hodnoty sloupců a3 a b3 se sobě musí rovnat.

Šlo by to nějak přes UPDATE? Děkuji

Odpovědi

11.1.2017 20:40 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: SQL dotaz
Šlo. Detaily môžu záležať na konkrétnej databáze. Pred pár dňami som niečo také riešil a bol to "vopruz". Hlavne preto, že sa mi to kazili constrainty. Ale v princípe to ide.
11.1.2017 20:42 Ivan2 | skóre: 4
Rozbalit Rozbalit vše Re: SQL dotaz
tohle?

http://stackoverflow.com/questions/2446764/update-statement-with-inner-join-on-oracle#
11.1.2017 20:45 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: SQL dotaz
Především doporučuji zvolit lepší názvy tabulek a sloupců. Bude se s nimi mnohem lépe pracovat. Nad takovými hloupými názvy se mi ani nechce přemýšlet.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
11.1.2017 20:54 jekub
Rozbalit Rozbalit vše Re: SQL dotaz
typ db je tajny, tak kdyby nahodou
update (
select a2,b2
from tab1
inner join tab2 on a3=b3
)
set a2=b2
12.1.2017 11:29 Štefan
Rozbalit Rozbalit vše Re: SQL dotaz
pro ms sql:
update tab1
set tab1.a2 = tab2.b2
from tab1
join tab2 on tab2.b3=tab1.a3
3.2.2017 10:49 EtDirloth | skóre: 7
Rozbalit Rozbalit vše Re: SQL dotaz
sqlite, ktore nema klauzulu FROM v UPDATE:

-- pre b2 NOT NULL a pocty zaznamov (zhruba) 1:1 v tab1:tab2; pri velkom tab2 s indexom na (b3,b2)
UPDATE tab1
   SET a2 = COALESCE((
         SELECT tab2.b2
            FROM tab2
            WHERE tab2.b3 = tab1.a3
            LIMIT 1
         ), a2)
;

-- resp. pre velke tab1 a male tab2; s indexom na (a3)
UPDATE tab1
   SET a2 = (
         SELECT tab2.b2
            FROM tab2
            WHERE tab2.b3 = tab1.a3
            LIMIT 1
         )
   WHERE a3 IN (
         SELECT b3
            FROM tab2
         )
;
-- resp. pre male tab1 a velke tab2; s indexom na (b3,b2)
UPDATE tab1
   SET a2 = (
         SELECT tab2.b2
            FROM tab2
            WHERE tab2.b3 = tab1.a3
            LIMIT 1
         )
   WHERE EXISTS (
         SELECT 1
            FROM tab2
            WHERE b3 = a3
         )
;

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.