Tabellen är by default är ställd till att vara ORDER BY colID kanske (jag vet inte exakt men vi antar att det är colID t.ex.), så när jag gör min ADD TempID3 så får ju vajre rad ett nytt TempID; 1,2,3..n. Men eftersom ORDER BY är baserat på colID är det "fel" rad som får TempID. Jag skulle vilja göra ORDER BY colText1 innan jag genererar Ident kolumnen så att "rätt" rad får ny siffra. Om nedanstående SQL skulle funkat hade det löst mitt problem.. :)
ALTER TABLE MyTable1 ORDER BY colText1
ADD TempID3 INT IDENTITY(1,1) NOT NULL
Orsaken till att jag håller på så här är att jag vill göra en UPDATE enl. nedan o det är viktigt i vilken ordning raderna hamnar:
UPDATE MyTable2 SET colText33 =
(
SELECT colText3 from MyTable1
WHERE MyTable1.TempID3 = MyTable2.TempID3
)
Om det var otydligt förklarat försöker jag gärna igen.. :)
Hur hade du tänkt att det skulle fungera?
Om du sorterar på colText1 varje gång du lägger in något i din tabell kommer ju TempID3 att ändras hela tiden för olika texter.
Det känns ganska meningslöst att ha ett unikt ID som ändras..
Det blir ju ungefär som att man får nytt personnummer så fort nån byter namn, föds eller dör.
Vad är det du vill åstakomma med din update?
Sätta colText33 likamed colText3 i MyTable1 där TempID3 är samma som TempID3 i MyTable2?
Varför?
hejsan, tack för att du vill hjälpa.. :) jo, det här är bara en engångsgrej.. syftet är egentligen att jag helt enkelt vill importera en kolumn från en tabell till en annan. När det är klart så raderar jag TempID3.
Förstår att det kanske upplevs som meningslöst.. hmm.. jag har säkert gjort fel men ska försöka förklara varför jag gjort som jag har..
Det som jag fann mest uppenbart när jag ville göra själva importen var att använda Enterprise Manager o köra DTS. Men problemet var att importen gjordes som en "append" o lades till efter den sista raden i target-kolumnen.
(efter att man specificerat kolumner o körde Transform alternativet fanns bara tre val att välja:
- Create destination table
- Delete rows in destination table
- Append rows to destination table (default)
)
så jag tänkte att jag kör kod istället för Ent.Mgr o att jag behövde ID för att kunna göra nån slag JOIN för att tvinga in raderna i början av tabellen istället för på slutet..
Man kan säkert göra det jag vill göra egentligen på helt annat sätt än det jag provade.. (fast jag vet då inte hur =)
Vet inte om det blev klarare..? förklarar gärna igen annars
264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e