---
title: "Dynamisk alias. If?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/103378-dynamisk-alias-if"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Kristianstad"
published: "2004-05-11T15:53:16.000Z"
updated: "2004-05-11T17:50:16.000Z"
replies: 4
views: 270
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/103378-dynamisk-alias-if"
---

# Dynamisk alias. If?

## #1 — Kristianstad, 2004-05-11T15:53Z

Hejsan!

\|ID\|FilmID\|Poang\|Anvandare\|
Jag kör MySQL 4.0.18

Jag vill ha en SQL-fråga där "aliasena" är dynamiska.

Min "grund-sql-fråga" ser ut så här:
SELECT FilmID,
Poang \* ett_dynamiskt_varde AS varde
FROM Tabell
WHERE (Poang=4 OR Poang=5) AND (Anvandare='Kalle' OR Anvandare='Jakob' OR Anvandare='Peter' OR Anvandare='Pelle')

***OBS!** Det finns flera poster som har samma FilmID*

Nu är det så att jag vill att ett_dynamiskt varde ska vara olika beroende på vad Anvandare innehåller. T.ex. om Anvandare='Peter' så ska ett värde multipliceras och om Anvandare='Kalle' så ska ett annat värde multipliceras.

Alltså något likt
(IF Anvandare='Kalle' THEN Poang \* 0.345 AS varde), (IF Anvandare='Peter' THEN Poang \* 2.55 AS varde)

Och *om det går* skulle jag gärna vilja att hela alltet grupperas så att det i slutändan bara finns en post per FilmID kvar och sorterat efter varde DESC.

Tack på förhand!

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

## #2 — LarsG, 2004-05-11T16:00Z

```
select filmid, 
poang * case anvandare 
   when 'LarsG' then 4711
   when '@nders' then 42 end
FROM Tabell
WHERE Poang in(4,5) 
AND Anvandare in ('LarsG','@nders')
```

När du säger att du vill ha en post per filmid hur vill du då behandla poang? Summering, genomsnitt, standardavvikelse eller vad?

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

## #3 — Kristianstad, 2004-05-11T16:24Z

Hej igen Lars!

Poang ska behandlas som summering!

/red  Poang multipliceras i din fråga med talet?

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

## #4 — LarsG, 2004-05-11T16:33Z

Ja.

```
select filmid, 
sum(poang * case anvandare 
   when 'LarsG' then 4711
   when '@nders' then 42 end) as score
FROM Tabell
WHERE Poang in(4,5) 
AND Anvandare in ('LarsG','@nders')
group by filmid
order by score desc
```

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

## #5 — Kristianstad, 2004-05-11T17:50Z

Tackar och bockar!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/103378-dynamisk-alias-if
