---
title: "case i en selectsats?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/153207-case-i-en-selectsats"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "inspiro"
published: "2006-10-30T20:35:04.000Z"
updated: "2006-10-31T19:55:06.000Z"
replies: 6
views: 441
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/153207-case-i-en-selectsats"
---

# case i en selectsats?

## #1 — inspiro, 2006-10-30T20:35Z

Jag hämtar lite data med en vanlig select men vad gäller en av kolumnerna så skulle jag vilja ha ett villkor. Om en inparameter är samma som ett id som hämtas från tabellen så vill jag sätta ett eget värde. Kan man göra nåt sånt här:

```
SELECT A CASE WHEN (@ID = A) THEN 0 ELSE A, ... FROM Tabell
```

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

## #2 — doggelito, 2006-10-30T20:38Z

Detta borde väl gå: :)

```
SELECT CASE A WHEN @ID THEN 0 ELSE A END FROM Tabell
```

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

## #3 — inspiro, 2006-10-30T20:49Z

Får tyvärr felmeddelandet "felaktig parameter". Använder sql server express kanske ska tilläggas!

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

## #4 — doggelito, 2006-10-30T20:59Z

Är @ID och kolumnen A av samma datatyp?

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

## #5 — Erik Juhlin, 2006-10-30T21:06Z

SQL-server?
Så här kan man skriva.

```
SELECT (CASE WHEN @ID = A THEN 0 ELSE A END) AS A FROM Tabell
```

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

## #6 — LarsG, 2006-10-31T08:37Z

Posta hela koden och hela felmeddelandet.

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

## #7 — inspiro, 2006-10-31T19:55Z

Japp, samma datatyp (int). Får bara det felmeddelandet jag skrev när jag körde frågan i sql-server, "felaktig parameter" (samma fel på din sql, Erik). Frågan är den jag skrev typ bara att den hämtar data från några fler kolumner. En vanlig select-sats alltså, förutom det här case-grejjen.

Nu har jag iofs löst det kod-vägen istället, men om man kan göra såna här saker direkt i sql-satsen, visst är det bättre rent prestandamässigt (inte för att just det här exemplet kanske är någon prestandaslukare men jag menar generellt)?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/153207-case-i-en-selectsats
