---
title: "Hjälp med update sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/115521-hjälp-med-update-sats"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ConnyFox"
published: "2004-11-09T22:36:13.000Z"
updated: "2004-11-10T12:52:26.000Z"
replies: 8
views: 307
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/115521-hjälp-med-update-sats"
---

# Hjälp med update sats

## #1 — ConnyFox, 2004-11-09T22:36Z

Ok detta vill jag göra.
Tabell 1 innehåller produkter samt ett fält sald

tabell 2 innehåller produkter samt ett fält antal och ett fällt prodID

jag vill med en update-fråga göra så att alla varorna i tabell 1 där ID stämmer överänns med prodID i tabell2 uppdateras så att sald blir sald+antal

Exempel : 

Tabell 1
ID     Sald
1       15

Tabell2
ProdID     Antal
1              5

i detta fallet skall alltså sald i tabell 1 uppdateras till 20

hur gör jag detta?

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

## #2 — OveRRidE, 2004-11-09T22:57Z

För MS SQLServer. 

```
update tabell1 t1 set Sald = Sald + coalesce(select antal from tabell2 t2 where t2.prodid = t1.id,0)
```

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

## #3 — ConnyFox, 2004-11-09T23:15Z

Hmm dum som jag är glömde jag skriva att det är MySQL jag använder :(

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

## #4 — OveRRidE, 2004-11-10T09:57Z

Ja du, då vågar jag inte riktigt ge mig på det. Jag har ingen aning ifall Coalesce finns i mySQL eller ifall man behöver paranteser runt subqueries.

Men, vi gör en wildchance; 

```
update tabell1 t1 set Sald = Sald + (select antal from tabell2 t2 where t2.prodid = t1.id)
```

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

## #5 — Jesper T, 2004-11-10T12:11Z

Visst, coalesce() finns i mySql.
Men subquerys stöds endast i 4.1 eller senare. ;)
I.s.f så får du först göra select-satsen som du aplicerar in med en variabel i din update.

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

## #6 — ConnyFox, 2004-11-10T12:36Z

Problemet med subqueries är ju att man behöver ha mysql 4.1 eller senare och dom flesta webhotell har inte det..

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

## #7 — @nders, 2004-11-10T12:43Z

Jag använder visserligen SQL Server, men jag hade försökt ge mig på någonting sånt här:

```
UPDATE tabell1
SET Sald = t1.Sald + coalesce(t2.antal)
FROM tabell1 t1, tabell2 t2
WHERE t1.id = t2.prodid
```

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

## #8 — @nders, 2004-11-10T12:49Z

Visserligen kan man ju läsa på mysql.com (det antar jag att du redan gjort): 

> Starting with MySQL 4.0.4, you can also perform UPDATE operations that cover multiple tables: 
> 
> UPDATE items,month SET items.price=month.price
> WHERE items.id=month.id;

mvh

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

## #9 — ConnyFox, 2004-11-10T12:52Z

har inte läst allt.. ;) ok men tack, skall testa det.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/115521-hjälp-med-update-sats
