Just nu i M3-nätverket
Jump to content

uppdatera tabell från en annan tabell


JANspeed

Recommended Posts

Har en tabell som ser ut så här:

 

Postnummer|Postort|Mail|Distrikt

 

där kolumnen distrikt är tom. Har också en annan tabell som ser nästan likadan ut fast utan kolumnen "Mail" och där inte kolumnen Distrikt är tom. Nu försöker jag uppdatera den första tabellen med en UPDATE:

 

Update tblOrter
SET tblOrter.Distrikt = tblDistrikt.Distrikt
FROM tblDistrikt
WHERE tblOrter.Postort = tblDistrikt.Postort

 

men jag får det inte att fungera hur jag än gör? Någon som vet hur man gör?

 

/JANspeed

 

 

 

[inlägget ändrat 2003-03-27 15:40:26 av JANspeed]

Link to comment
Share on other sites

Jag *tror* att det borde bli så här:

Update tblOrter, tblDistrikt
SET tblOrter.Distrikt = tblDistrikt.Distrikt
WHERE tblOrter.Postort = tblDistrikt.Postort

 

 

_________

TicoRoman - The One And Only

 

Link to comment
Share on other sites

Testa följande kod:

 

UPDATE tblOrter INNER JOIN tblDistrikt ON tblDistrikt.Postort=tblOrter.Postort SET tblOrter.Distrikt = tblDistrik.Distrikt;

 

 

Link to comment
Share on other sites

Ah... sorry det har jag ju inte skrivit. Klantigt av mig.

 

Jag kör MS SQL Server 2000 och kör queryn i Enterprise manager.

 

Får felmeddelandet:

 

Incorrect syntax near the keyword 'INNER'.

 

 

/JANspeed

 

Link to comment
Share on other sites

Prova detta:

 

UPDATE tblOrter

SET tblOrter.Distrikt = tblDistrik.Distrikt

FROM tblDistrikt t

INNER JOIN tblDistrikt

ON t.Postort=tblOrter.Postort

 

 

 

Link to comment
Share on other sites

Hoppsan en liten felstavning i tabellnamnet. Här kommer det rätta:

 

UPDATE tblOrter

SET tblOrter.Distrikt = tblDistrikt.Distrikt

FROM tblDistrikt t

INNER JOIN tblDistrikt

ON t.Postort=tblOrter.Postort

 

 

 

Link to comment
Share on other sites

UPDATE tblOrter

SET tblOrter.Distrikt = tblDistrikt.Distrikt

FROM tblDistrikt t

INNER JOIN tblDistrikt

ON t.Postort=tblOrter.Postort

 

Tyvärr funkar inte heller. Får följande felmedelande:

 

The column prefix 'tblOrter'' does not match with a table name or alias name used in the query.

 

Såg ju lovande ut dock. :(

 

/JANspeed

 

Link to comment
Share on other sites

Det var då en envis rackare. :-) Ja men lägg till tblOrter i From då. Kanske det går?

 

UPDATE tblOrter

SET tblOrter.Distrikt = tblDistrikt.Distrikt

FROM tblDistrikt t, tblOrter

INNER JOIN tblDistrikt

ON t.Postort=tblOrter.Postort

 

 

 

Link to comment
Share on other sites

Nä, jag får samma felmeddelande fast nu på tabellen 't' istället. :/

 

Kanske man ska använda insert istället?

 

/JANspeed

 

Link to comment
Share on other sites

Hmmm... Och inte går väl det här bättre :-(

 

UPDATE tblOrter

SET tblOrter.Distrikt = tblDistrikt.Distrikt

FROM tblDistrikt t, tblOrter o

INNER JOIN tblDistrikt

ON t.Postort=o.Postort

 

Syntaxen godkänns i alla fall i MS-SQL Query Analyzer.

 

 

Link to comment
Share on other sites

Hmm... är det kanske därför det inte funkar? För att jag sitter och tutar i Enterprise Manager? Ska prova.

 

/JANspeed

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...