Portál AbcLinuxu, 29. října 2025 05:15
UPDATE nuke_stories_zal set comments.nuke_stories_zal=soucet where sid.nuke_stories_zal IN ( SELECT COUNT(sid) AS soucet, sid FROM nuke_comments GROUP BY sid )Spodni cast samostatne funguje a vraci tabulku se sloupci soucet a sid. Predem diky za pomoc.
Není problem v tom, že 3.23 neumí poddotaz ?
UPDATE nuke_stories_zal SET nuke_stories_zal.comments = count(nuke_comments.sid)
FROM nuke_comments
JOIN nuke_stories_zal ON nuke_stories_zal.sid = nuke_comments.sid
GROUP BY nuke_comments.sid
A krom toho mas v set a where IMHO prehozene jmena sloupcu a tabulek 
Ty vole! Já chci taky databázi, která umí klauzili FROM v UPDATE statementu. 
update ... from ... join neni z moji hlavy - MSSQL to umi a tam jsem se s tim taky setkal poprve. A taky jsem na to hledel jak tele na nove vrata.update d set d.typ_uhrady = nova_hodnota from #davka d join #faktur f on f.id_poj = d.id_poj and f.id_icz = d.id_icz where f.akce = 'ZMEN_TYP_UHRADY'A taky
delete d from #davka d join #fakt f on f.id_poj = d.id_poj where f.akce = 'NEFAKTURUJ'Mozna to je nejaky "MS-standard", to nevim. Ale urcite to neni k zahozeni. Updatovat jednu tabulku podle podminky na jine tabulce... A o to mi slo v me odpovedi - on proste IMHO potrebuje ty tabulky nejak spojit.
Tak si spusť postgres! 
No, já nevím. Podle mě ten dotaz fungovat nemůže, protože je tak trošku syntakticky špatně:
UPDATE nuke_stories_zal
SET
comments.nuke_stories_zal = soucet
WHERE
sid.nuke_stories_zal IN (SELECT
COUNT(sid) AS soucet,
sid
FROM
nuke_comments
GROUP BY
sid)
Jak je vidět z přepisu:
SELECT statement v IN klauzuli vrací dva sloupce, přestože levý operand má sloupec jen jedenSET klauzuli se UPDATE statement odkazuje na tabulku (nebo alias tabulky) COMMENTS, která není definovanáNUKE_STORIES_ZAL, ale sloupec SOUCET v ní patrně neexistuje a patrně to má být odkaz na sloupec v korelovaném poddotazuSprávně ten dotaz má být:
UPDATE stories s
SET
s.story_comments_cnt = (SELECT
COUNT(1)
FROM
comments cmnts
WHERE
cmnts.story_id = s.story_id)
/
V příloze je celý skript (struktura plus testovací data). Hodně štěstí.
A můžeme poprosit o příklad? Klidně to může být také nějaký skript 
to bude tim ze mysql je pseudodatabaze, jsem zkousel v 5tce delat storky, co ta db delala to by jeden neveril....a hlavne mela problem s backupem dokonce zapominala ze ma triggery a storky a backupy delala bez :)))) zahodte to..
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.