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 01:00 | Zajímavý projekt

Collapse OS vznikl jako svobodný operační systém pro počítače v případě „pomalého kolapsu civilizace“ sestavitelné a udržovatelné ze součástek rozšířených zařízení jako kalkulátory Texas Instruments, a to za účelem programování dalších jednočipů pro automatizaci. Autor po roce a půl projekt označil za hotový, ale plánuje pokračovat v jeho vylepšování. Ke stažení jsou zdrojové kódy (pod GNU GPLv3) a dokumentace.

Fluttershy, yay! | Komentářů: 0
včera 14:33 | Komunita

Nvidia podpoří projekt Common Voice částkou 1,5 milionu dolarů. Mozilla píše o demokratizaci a diverzifikaci hlasové technologie. Nvidia prostě použije otevřenou databázi hlasových záznamů k trénování svého systému Jarvis, viz úvodní přednáška CEO Nvidie Jensena Huanga na NVIDIA GTC 2021.

Ladislav Hagara | Komentářů: 0
včera 09:00 | IT novinky

Tento týden probíhá virtuální konference NVIDIA GTC 2021 (GPU Technology Conference). Doporučit ke zhlédnutí lze úvodní přednášku CEO Nvidie Jensena Huanga. Z kuchyně představil celou řadu novinek (NVIDIA Grace CPU, NVIDIA DRIVE Atlan, AI-Capable Supercomputer Alps, …). Dění na konferenci lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 3
včera 08:00 | Nová verze

Byla vydána verze 6.0 softwaru pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Mutara. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 00:55 | Komunita

Vedení Nadace pro svobodný software (FSF) vydalo oficiální prohlášení k návratu Richarda Stallmana (RMS) do vedení FSF. Richard Stallman promluvil ke komunitě kolem svobodného softwaru.

Ladislav Hagara | Komentářů: 23
12.4. 20:33 | Pozvánky

Ve středu 14. dubna pořádá brněnský Red Hat tradiční akci Open House, letos opět ve virtuální podobě. Open House nabízí studentům, ale i zájemcům z široké veřejnosti příležitost poznat Red Hat, jeho kulturu a dozvědět se o stážích a pracovních příležitostech. Letošní program nabídne 3 souběžné streamy od více než 30 přednášejících. Jeden z nich bude věnován technickým přednáškám, kde se dozvíte o různých projektech a produktech, na kterých

… více »
Dorka | Komentářů: 0
12.4. 16:11 | IT novinky

Microsoft kupuje firmu Nuance Communications za 19,7 miliardy dolarů. Nuance Communications se věnuje rozpoznávání řeči pomocí umělé inteligence především ve zdravotnictví. Technologie od Nuance Communications je použita také ve virtuálním asistentovi Siri.

Ladislav Hagara | Komentářů: 12
12.4. 14:44 | Nová verze

Český překladatelský tým LibreOffice vydává příručku LibreOffice Writer verze 6.4. Kniha představuje některé hlavní funkce aplikace LibreOffice Writer:… více »

Zdeněk Crhonek | Komentářů: 0
12.4. 13:33 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky nové verze 1.14.0 této v programovacím jazyce Go naprogramované aplikace.

Ladislav Hagara | Komentářů: 0
12.4. 09:00 | Nová verze

V březnu 2016 byl 2D animační software Toonz uvolněn jako open source pod názvem OpenToonz. O víkendu byl OpenToonz vydán ve verzi 1.5.0. Přehled novinek v poznámkách k vydání na GitHubu. Novou verzi bude možné nainstalovat také z Flathubu a Snapcraftu.

Ladislav Hagara | Komentářů: 0
Kolik času v průměru denně trávíte videohovory/-konferencemi? (ať už v práci, škole nebo soukromě)
 (52%)
 (13%)
 (15%)
 (10%)
 (7%)
 (1%)
 (1%)
Celkem 293 hlasů
 Komentářů: 7, poslední 8.4. 12:14
Rozcestník

Dotaz: Vložení hodnot do SQL tabulky

31.3. 20:32 jan.rok | skóre: 20
Vložení hodnot do SQL tabulky
Přečteno: 2128×
Ahoj,

nevím si rady s tím, jak vložit chybějící hodnoty do tabulky - třeba takovéto:
jmeno | banka | vklad
---------------------
jan      KB      100
jan      CSOB    200
jan      CS      100
tonda    CSOB    100
tonda    CS      100
pepa     KB      300
jiri     KB      200
jiri     CSOB    100

Chtěl bych docílit toho, aby každý člověk měl v ČS uloženo 100 Kč.

Umím vypsat, kteří lidé nemají u ČS nic:

select distinct jmeno from moje_tabulka where jmeno not in (select jmeno from moje_tabulka where banka <> 'CS')

Výsledkem by měl být
 pepa, jiri
Ale už nevím, jak toto použít pro INSERT.

Finální tabulka by měla vypadat takto:
jmeno | banka | vklad
---------------------
jan      KB      100
jan      CSOB    200
jan      CS      100
tonda    CSOB    100
tonda    CS      100
pepa     KB      300
pepa     CS      100
jiri     KB      200
jiri     CSOB    100
jiri     CS      100

Děkuji za rady. JR

Řešení dotazu:


Odpovědi

31.3. 20:42 X
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky
Domaci ukol?
31.3. 20:50 jan.rok | skóre: 20
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky
Kéž by.

Oprava databáze logů v Informixu - v principu jde o to, co jsem pro jednoduchost popsal jako uživatel-banka-vklad.

31.3. 21:19 Peter Golis | skóre: 61 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky
Taknsi z toho selektu vygenerujeme príkazy pre insert, a tie spustíme. Hoci aj cez awk, a pôjdeme spať.
31.3. 21:42 EtDirloth | skóre: 11
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky
ten tvoj select distinct... by mal podla mna mat banka = 'CS' v subselecte

ak mas otestovany select, potom staci pouzit insert-select syntax:
INSERT INTO moje_tabulka (jmeno, banka, vklad)
   SELECT DISTINCT jmeno, 'CS', 100
      FROM moje_tabulka
      WHERE jmeno NOT IN (SELECT jmeno FROM moje_tabulka WHERE banka = 'CS')
;
Řešení 1× (Filip Jirsák)
xkucf03 avatar 31.3. 21:51 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky – INSERT INTO … SELECT …
Příloha:

Odhlédnu od toho, že to schéma je špatně navržené, a budu to brát jako minimalistický příklad pro potřeby dotazu.

Soubor vklady.sql:

CREATE TABLE vklad (
	jmeno VARCHAR(20),
	banka VARCHAR(10),
	vklad INTEGER
);

INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan',   'KB',   100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan',   'CSOB', 200);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan',   'CS',   100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('tonda', 'CSOB', 100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('tonda', 'CS',   100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('pepa',  'KB',   300);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jiri',  'KB',   200);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jiri',  'CSOB', 100);

INSERT INTO vklad (jmeno, banka, vklad)
SELECT
	jmeno,
	'CS' AS banka,
	100 AS vklad
FROM (
	SELECT
		jmeno
	FROM vklad 
	EXCEPT
	SELECT
		jmeno
	FROM vklad
	WHERE banka = 'CS'
);

Výsledek:

$ cat vklady.sql | relpipe-in-sql --relation vklad "SELECT * FROM vklad" | relpipe-out-tabular 
vklad:
 ╭────────────────┬────────────────┬─────────────────╮
 │ jmeno (string) │ banka (string) │ vklad (integer) │
 ├────────────────┼────────────────┼─────────────────┤
 │ jan            │ KB             │             100 │
 │ jan            │ CSOB           │             200 │
 │ jan            │ CS             │             100 │
 │ tonda          │ CSOB           │             100 │
 │ tonda          │ CS             │             100 │
 │ pepa           │ KB             │             300 │
 │ jiri           │ KB             │             200 │
 │ jiri           │ CSOB           │             100 │
 │ jiri           │ CS             │             100 │
 │ pepa           │ CS             │             100 │
 ╰────────────────┴────────────────┴─────────────────╯
Record count: 10
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
31.3. 22:16 jan.rok | skóre: 20
Rozbalit Rozbalit vše Re: Vložení hodnot do SQL tabulky – INSERT INTO … SELECT …
Děkuju moc všem. Když to takhle vidím před sebou, je to vlastně jednoduché. Pokud to někdo umí... Dík za poučení.

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.