---
title: "använda case"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/140804-använda-case"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "neversleep"
published: "2006-01-13T16:02:40.000Z"
updated: "2006-01-14T13:40:49.000Z"
replies: 8
views: 354
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/140804-använda-case"
---

# använda case

## #1 — neversleep, 2006-01-13T16:02Z

kan man inte använda case i sql utan att blanda in den i en select sats

jag vill köra olika select beroende på en parameter typ:

select @apa
   case 1 then select \* from table1
   case 2 then select \* from table1
end

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

## #2 — LarsG, 2006-01-13T16:20Z

i SQL ja.
  

```
case variabel
when 1 then 
    statements;
when 2 then 
    statements;
end case;
```

(select är inte ett statement, i detta kontext)

i T-SQL nej.

Du får nöja dig med if.

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

## #3 — neversleep, 2006-01-13T16:25Z

ok tack

men kan man göra det på annat sätt. vad jag vill är att uppdatera olika fält med ett invärde beroende på en parameter

update table
   case
       when @apa=1 then field1=1
       when @apa=2 then field2=1
   end
where id=1

ovan syntax fungerar inte. Är jag ute och seglar eller. 
Lyckas med 

update table set field=
  case @apa=1 then 2 ....

men det är inte det jag vill

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

## #4 — LarsG, 2006-01-13T16:32Z

```
update t 
set column1 = case
        when @apa=1 then 1 else column1 end,
     column2 = case 
        when @apa=2 then 1 else column2 end
where id=1
```

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

## #5 — neversleep, 2006-01-13T16:40Z

suveränt. stort tack

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

## #6 — natas, 2006-01-14T10:21Z

Man kan också använda IF.

```
IF(@apa=1)
SELECT * FROM table1
ELSE
SELECT * FROM table2
```

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

## #7 — Peter S, 2006-01-14T10:57Z

> **natas skrev:**
>
> Man kan också använda IF.

<http://www.webforum.nu/showthread.php?p=1142064#post1142064>

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

## #8 — LarsG, 2006-01-14T12:56Z

Nu blandar du ihop lite. I det länkade inlägget avsågs funktionen if och inte ifsatser. Ifsatser finns i standarden men har en lite annorlunda syntax än i SQL server. Om man vill följa standard och använda SQL server så går det inte att använda procedurer över huvud taget.

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

## #9 — Peter S, 2006-01-14T13:40Z

Ja, givetvis  :r  Ber om ursäkt.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/140804-använda-case
