webForumDet fria alternativet

Uppdateringsfråga

2 svar · 495 visningar · startad av wazid

wazidMedlem sedan maj 2001156 inlägg
#1

Hej

Jag har sökt och funnit en del hjälp på vägen i mitt problem...
Men inte hela vägen.

Jag har en tabell som innehåller faktureringsstatistik.
Det förekommer en del fel och då har jag en rättningstabell.
Allt i MS SQL 2000.

Hur gör jag för att få min tabell uppdaterad med den rätta informationen?
Följande har jag försökt köra i Query Analyzer:

UPDATE OSBSTD2
SET UCUCOS = (
  select [UCUCOS-rätt], UCITNO 
    from Rättning_OSS
    where Rättning_OSS.UCORNO = UCORNO AND Rättning_OSS.UCITNO =UCITNO
   )
where UCORNO in (
   select UCORNO 
    from Rättning_OSS
  )

Jag får då ett felmeddelande:

Server: Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

Min rättningstabell innehåller 7 rader.

Hur gör jag om jag vill schemalägga rättningen så den körs automatiskt varje dag?

Tacksam för hjälp

David

BrimbaMedlem sedan dec. 19995 875 inlägg
#2
SET UCUCOS = (
  select [UCUCOS-rätt], UCITNO

I denna selecten hämtar du två kolumner, men SET klarar bara av att ta emot en post som innehåller en kolumn.

Prova något i denna stilen..

UPDATE OSBSTD2
	SET UCUCOS = t2.UCUCOS
FROM OSBSTD2 t1 
INNER JOIN Rättning_OSS t2 ON t1.UCORNO = t2.UCORNO

Kanske att du skall joina på UCITNO också, är lite osäker på vad du vill uppdatera egentligen.

För att schemalägga så skapar du ett jobb i SQL Server Agent.

wazidMedlem sedan maj 2001156 inlägg
#3

Tackar!

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)