---
title: "Update problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/110368-update-problem"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "PDahlen"
published: "2004-08-30T14:37:41.000Z"
updated: "2004-08-31T19:17:39.000Z"
replies: 2
views: 273
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/110368-update-problem"
---

# Update problem

## #1 — PDahlen, 2004-08-30T14:37Z

Har några tabeller, den ena är en temptabell jag använder.

\#ArticleWebbProps
 ArtUniqueID
 ArtLocUniqueID
 ArtWebPropUniqueID
 WebbValue

Prod_ArticlesLocal
 ArtLocUniqueID
 ArtUniqueID
 CountryID

Prod_rlnArticleWebProperties
 rlnArtWebPropUniqueID
 ArtLocUniqueID
 ArtWebPropUniqueID
 WebbValue

Så här ligger det till.
Den temporära tabellen är fylld med info från WebbProp tabellen baserat på land från ArtLocal.
ArtLoc i temptabellen skall sedan uppdateras till det ArtLoc som motsvarande artikel har i ett annat land.

```
SELECT al.ArtUniqueID, rawp.ArtLocUniqueID, ArtWebPropUniqueID, rlnArtWebPropValue
INTO #ArticleWebbProps
FROM Prod_rlnArticleWebProperties rawp JOIN Prod_ArticlesLocal al ON rawp.ArtLocUniqueID = al.artLocUniqueID
WHERE CountryID = @FromCountryID

UPDATE #ArticleWebbProps awp JOIN Prod_ArticlesLocal al ON al.ArtLocUniqueID = awp.ArtLocUniqueID
 SET awp.ArtLocUniqueID = (
	SELECT al.ArtLocUniqueID
	FROM Prod_ArticlesLocal
	WHERE CountryID = @ToCountryID
	AND al.ArtUniqueID = awp.ArtUniqueID
)
```

Exempel

```
FromCountryID = 1
ToCountryID = 2
ArtLoc
--------
 ArtLocUniqueID    ArtUniqueID    CountryID
        1                 1          1
        2                 2          1
        3                 3          1
        4                 4          1
        5                 1          2
        6                 2          2
        7                 3          2
        8                 4          2

ArtWebProps
-----------------
 rlnArtWebPropUniqueID    ArtLocUniqueID    ArtWebPropUniqueID    WebbValue
          1                     1                    2                    3
          2                     2                    2                    3
          3                     3                    2                    3
          4                     4                    2                    3

#ArtWebProps
---------------------
 ArtUniqueID   ArtLocUniqueID   ArtWebPropUniqueID   WebbValue
         1               1                2              3
         2               2                2              3
         3               3                2              3
         4               4                2              3
```

Då skall #ArtWebProps uppdateras till

```
#ArtWebProps
---------------------
 ArtUniqueID   ArtLocUniqueID   ArtWebPropUniqueID   WebbValue
         1               5                2              3
         2               6                2              3
         3               7                2              3
         4               8                2              3
```

Några förslag?

Permalänk: https://www.webforum.nu/p/110368

## #2 — LarsG, 2004-08-31T16:43Z

Vad är det för problem med den updatefråga du använder nu?

```
UPDATE #ArticleWebbProps 
 SET ArtLocUniqueID = (
	SELECT al.ArtLocUniqueID
	FROM Prod_ArticlesLocal
	WHERE CountryID = @ToCountryID
	AND al.ArtUniqueID = #ArticleWebbProps.ArtUniqueID
)
where #ArticleWebbProps.ArtLocUniqueID in (
select al.ArtLocUniqueID 
from Prod_ArticlesLocal al 
WHERE CountryID = @ToCountryID)
```

Permalänk: https://www.webforum.nu/p/1424851

## #3 — PDahlen, 2004-08-31T19:17Z

Den jag hade satte bara värdet till Null.
Den du visade funkade förutom en liten grej. Behövde sätta dit ett al och ändra sista ToCountry till FromCountry.

```
	UPDATE #ArticleWebbProps 
	SET ArtLocUniqueID = (
		SELECT al.ArtLocUniqueID
		FROM Prod_ArticlesLocal al
		WHERE CountryID = @ToCountryID
		AND al.ArtUniqueID = #ArticleWebbProps.ArtUniqueID
	)
	where #ArticleWebbProps.ArtLocUniqueID in (
		select al.ArtLocUniqueID 
		from Prod_ArticlesLocal al 
		WHERE CountryID = @FromCountryID
	)
```

Kanon, tack för hjälpen! :)

Permalänk: https://www.webforum.nu/p/1424972

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/110368-update-problem
