webForumDet fria alternativet
Logga in / Bli medlem

update sats

Databaser & SQL

8 svar · 179 visningar · startad av hakan@4u2.se

Medlem sedan aug. 2000333 inlägg
Trådstart#1

Har en [temp_lista] tabell , nu vill jag uppdatera namnen i [temp_lista] tabellen från tabellen [deltagare].

Eller går det inte att göra som jag har tänkt? Är ni med?

Här är mitt kod tänk men det fungerar inte!

UPDATE temp_lista
SET  namn =
                   (SELECT DISTINCT deltagare.namn
                    FROM   deltagare INNER JOIN
                                   temp_lista ON deltagare.deltagare_id = temp_lista.deltagare_id) AS namn
Medlem sedan dec. 20003 887 inlägg
#2

Använd DISTINCTROW när du jobbar med JOINs

Medlem sedan aug. 2000333 inlägg
#3

Hmmm..Finns det kommandot i SQL server 2000?

Blir bara fel när jag använder det!

Medlem sedan dec. 200012 464 inlägg
#4

Distinctrow är ett påfund i Access.

UPDATE temp_lista 
SET  namn =
         (SELECT DISTINCT deltagare.namn
             FROM deltagare 
       where deltagare_id = temp_lista.deltagare_id)
Medlem sedan dec. 20003 887 inlägg
#5
UPDATE temp_lista
SET  namn = deltagare.namn
FROM deltagare
WHERE deltagare.deltagare_id = temp_lista.deltagare_id

Blir detta samma resultat?

Jag måste lägga av att jobba med Access ;)

Medlem sedan dec. 200012 464 inlägg
#6

Tja, det beror på vad som händer om det finns flera poster med samma id.

Din syntax är lika lite standard som distinctrow.

Medlem sedan dec. 20003 887 inlägg
#7

Hehe... jag var inne på MSDN och kollade lite på UPDATE och försökte lista ut saker :)

Medlem sedan dec. 200012 464 inlägg
#8

Du behöver ha med temp_lista i from om det skall fungera.

UPDATE temp_lista
SET  namn = deltagare.namn
FROM deltagare,temp_lista
WHERE deltagare.deltagare_id = temp_lista.deltagare_id

Om man har from så är namnet i update bara ett korrelationsnamn så det går att skriva

UPDATE t
SET  namn = d.namn
FROM deltagare as d,temp_lista as t
WHERE d.deltagare_id = t.deltagare_id

Vilket på sätt och vis känns mer logiskt.

Medlem sedan dec. 20003 887 inlägg
#9

Jo, jag tyckte att det borde ha blivit något sådant, men jag känner mig förvirrad just nu och fick inte helt grepp på vart det inte fick vara något Alias.

Skönt att det finns personer som kan reda ut saker åt andra personer :)

266 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)