webForumDet fria alternativet
Logga in / Bli medlem

Uppdatera tabell #3

Databaser & SQL

8 svar · 628 visningar · startad av devotion

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

Hej!

Jag sitter här och försöker uppdatera min tabell, men får inte till det.. :(

update tblArticle set category = 'vanlig mtrl'
  
     where tblArticle.Nr = tblCommonArticle.articleNumber

Det jag vill göra är att uppdatera alla poster i tblArticle med Kategori 'Vanlig mtrl' om artikelnumret finns med i tblCommonArticle

Vad har jag gjort för fel.. Och hur gör jag rätt??

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#2
update tblArticle ta
   set ta.category = 'Vanlig mtrl'
 where exists (select 1
                 from tblCommonArticle tc
                where ta.nr = tc.articleNr)

:)

Medlem sedan jan. 20013 582 inlägg
#3

Hmm testa de det men

Msg 102, Level 15, State 1, Line 1
Felaktig syntax nära 'ta'.

Mvh
Henrik

Medlem sedan feb. 200112 078 inlägg
#4

UPDATE-statements tar inte alias.

update tblArticle
   set category = 'Vanlig mtrl'
 where exists (select 1
                 from tblCommonArticle tc
                where nr = tc.articleNr)
Medlem sedan dec. 20025 483 inlägg
#5

OveRRidE skrev:

UPDATE-statements tar inte alias.

Är det specifikt för T-SQL eller gäller detsamma andra dialekter?

Medlem sedan jan. 20013 582 inlägg
#6

Funkar finfint :)

Tackar!

Mvh
Henrik

Medlem sedan dec. 19996 721 inlägg
#7

Peter S skrev:

Är det specifikt för T-SQL eller gäller detsamma andra dialekter?

Tvärtom är det så att T-SQL har stöd för alias i en UPDATE, medan det ofta är sämre ställt i andra dialekter.

update a
set category = 'Vanlig mtrl'
from tblArticle a
inner join tblCommonArticle tc on a.nr=tc.articleNr
Medlem sedan feb. 200112 078 inlägg
#8

Peter S skrev:

Är det specifikt för T-SQL eller gäller detsamma andra dialekter?

Jag missade ett ord; min mening var egentligen att skriva "tar inte alltid alias".

Jag vet inte i vilken dialekt det fungerar eller inte.

Medlem sedan dec. 20025 483 inlägg
#9

Tack emission och OveRRidE för klargörandena !

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