webForumDet fria alternativet

Hjälp med UPDATE med FROM

1 svar · 212 visningar · startad av lolukokasos

lolukokasosMedlem sedan mars 2001196 inlägg
#1

SQL är roligt men inte när det går emot.
Jag har följande kod som funkar för att selektera ut priser som inte är samma i olika språkvarianter. Jag vill då använda en update som tar det ena priset (ets) och uppdaterar i ett annat språk (ete).

select ete.tabradid,ete.artnr, ete.pris,ets.artnr, ets.pris ,ets.tabradid
from ElementTabell ets, ElementTabell ete 
where ets.eleid IN (select eleid from element e, datablad d, produktgruppsnamn pg
	where e.dbid=d.dbid and d.prodgrpnamnid=pg.prodgrpnamnid and sprakid=1)
and ete.eleid IN(select eleid from element e, datablad d, produktgruppsnamn pg
	where e.dbid=d.dbid and d.prodgrpnamnid=pg.prodgrpnamnid and sprakid=3)
and ets.pris != ete.pris
and ets.artnr = ete.artnr
and ets.artnr!=''
and left(ets.pris,1) LIKE '[0-9]'
and left(ete.pris,1) LIKE '[0-9]'
and right(ets.pris,2) LIKE ':-'

Om jag byter ut SELECT-raden mot UPDATE så funkar det inte som jag tycker den borde... I need help :q

lolukokasosMedlem sedan mars 2001196 inlägg
#2

Är man tjurig så går det ibland. Lite konstigt men troligen gillar inte SQL-server att man gör alias i UPDATE-satser. Här följer min lyckade sats:

UPDATE ElementTabell set ElementTabell.pris=ets.pris
from ElementTabell ets, ElementTabell 
where ets.eleid IN (select eleid from element e, datablad d, produktgruppsnamn pg
	where e.dbid=d.dbid and d.prodgrpnamnid=pg.prodgrpnamnid and sprakid=1)
and ElementTabell.eleid IN(select eleid from element e, datablad d, produktgruppsnamn pg
	where e.dbid=d.dbid and d.prodgrpnamnid=pg.prodgrpnamnid and sprakid=3)
and ets.pris != ElementTabell.pris
and ets.artnr=ElementTabell.artnr
and ets.artnr!=''
and left(ets.pris,1) LIKE '[0-9]'
and left(ElementTabell.pris,1) LIKE '[0-9]'
and right(ets.pris,2) LIKE ':-'
124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)