webForumDet fria alternativet
Logga in / Bli medlem

Uppdatera tabell

Databaser & SQL

8 svar · 431 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej!

Har följande kod:

update tblMaterial
set Unit = 
case substring(Nr,1,2)
      when  '01' then 'm'
      when  '02' then 'm'
       ...
end
where ...

Hur fixar jag till den koden så att övriga fall blir 'st'

Det kommer vara 5-6 matchningar som ska bli 'm'

Kan man optimera?

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#2
update tblMaterial
set Unit = 
case when substring(Nr,1,2) in ('01','02',...)
      then 'm'
      else 'st'
end
Medlem sedan jan. 20013 582 inlägg
#3

Peter S skrev:

update tblMaterial
set Unit = 
case when substring(Nr,1,2) in ('01','02',...)
      then 'm'
      else 'st'
end

Det ser ju fint ut :)

Men nu vill jag ha ett villkor till.

På svenska:

De artikelnummer som börjar på 01, 02, 03, 05, 06 ska få enhet 'm' övriga 'st'
om de inte heter enligt bifogad bild, då ska de inte förändras (eller man kanske ska sätta att de får enhet enligt bilden??)

Eller ska man göra på annat sätt?

Mvh
Henrik

artiklar.png
Medlem sedan jan. 20013 582 inlägg
#4

Ingen? :)

mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#5

Jag är inte riktigt med på villkoret du vill lägga till. Vilka skall ha 'st' och vilka skall varken ha 'm' eller 'st'? De vars artikelnummer matchar...

Medlem sedan jan. 20013 582 inlägg
#6

Man kanske kan hårdkoda in de som skall ha 'm' och de enligt bifogad bild... övriga 'st'?

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#7
update tblMaterial
set Unit = 
case when ArtNr in ('Ö01L','Ö01',...)
       then '?'
     when substring(ArtNr,1,2) in ('01','02',...)
       then 'm'
     else 'st'
end
Medlem sedan dec. 20025 483 inlägg
#8

Hm

update tblMaterial
set Unit = 
case when substring(ArtNr,1,2) in ('01','02',...)
       then 'm'
     else 'st'
end
where
 ArtNr not in ('Ö01L','Ö01','S01',...)
Medlem sedan jan. 20013 582 inlägg
#9

Precis! :)

Mvh
Henrik

253 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)