---
title: "Dynamisk sql klickar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/121291-dynamisk-sql-klickar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Jesper T"
published: "2005-01-29T09:54:21.000Z"
updated: "2005-02-02T13:21:18.000Z"
replies: 10
views: 421
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/121291-dynamisk-sql-klickar"
---

# Dynamisk sql klickar

## #1 — Jesper T, 2005-01-29T09:54Z

Får inte detta att funka, det funkar om jag skriver in valutan statiskt. Vad kan fela?

```
ALTER PROCEDURE Testprocedur
	(	
		@Curr varchar(3)
		
	)
AS

exec('SELECT s.id,s.province,s.city,c.cNameEN, 
	max(pricew)*r.'+@curr+', 
	min(pricew)*r.'+@curr+' FROM search1 AS s 
	INNER JOIN countries AS c 
	ON s.country=c.id
	INNER JOIN pricecategory as p
	ON s.id=p.shid
	INNER JOIN rates as r
	ON r.currency=p.currency
	GROUP BY s.id,s.province,s.city,c.cNameEN,r.'+@curr)
```

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

## #2 — @nders, 2005-01-29T10:51Z

Felmeddelande? Hur ser den "färdiga" dynamiska SQL-frågan ut?

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

## #3 — Jesper T, 2005-01-29T19:48Z

Nej, vips så funkade det utan att jag behövde göra något.
Märkligt. Men kör jag frågan i access så verkar den inte returnera något var tredje gång ungefär. Kör jag den däremot direkt på asp-sidan eller i EM så verkar det funka ser jag nu.

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

## #4 — LarsG, 2005-01-30T19:06Z

Varför har du en sådan datamodell? Det blir ju bara besvärligt och ineffektivt, t.ex. om du vill lägga till en ny valuta så måste du definiera om din tabell.

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

## #5 — Jesper T, 2005-01-30T23:21Z

Tanken var att valutorna skulle ligga i en "matris" med en x och en y axel för att kunna räkna om valutan. 
Visst, den ny kolumn måste läggas till när man lägger till en valuta och det kanske  inte är helt lyckat.
Vilken modell föreslår du?
Är det idé att bara köra tre kolumner ex.
SEK   SEK   1
SEK   EUR   0.11
SEK   USD   0.13
EUR   SEK   9
EUR   EUR   1
Osv. Så kan jag kanske göra något sådant här?

```
	SELECT s.id,s.province,s.city,c.cNameEN, 
	min(p.pricew)*r.rate, 
	max(p.pricew)*r.rate 
	FROM search1 AS s 
	INNER JOIN countries AS c ON s.country=c.id
	INNER JOIN pricecategory as p ON s.id=p.shid
	INNER JOIN ratesnew as r ON r.currencyF=p.currency 
	WHERE r.currencyT = @curr
	GROUP BY s.id,s.province,s.city,c.cNameEN,r.rate
```

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

## #6 — Jesper T, 2005-01-31T01:24Z

Den modellen verkar ju funka bra.
Tilläggsfråga:

Jag skulle vilja lägga till maxpris också och detta måste ju även vara baserat på currency-variablen.
Skall jag lägga det i en having-klausul eller var skall det in?
Jag har testat att lägga till det i where men det verkar inte funka:

```
AND min(p.pricew)<1500*r.rate
```

Alltså om valutan är 'SEK' så skall bara poster där min(pricew) understiger 1500kr hämtas.

> An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.

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

## #7 — Jesper T, 2005-01-31T15:16Z

Om jag lägger in den i having så blir det ingen skillnad. (som att inte ha med den)

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

## #8 — UlfT, 2005-01-31T15:29Z

**\-\> Jesper T**

Angående valutorna, gör det så enkelt som möjligt. Du kan bestämma dig för att du hela tiden utgår från en viss valuta som standard, och alla andra valutor anger du utifrån denna standard. Låt oss säga att denna standard är SEK. Då anges varje annan valuta utifrån dess värde räknat i SEK. Vill man konvertera mellan EUR och USD, går man via mellansteget att konvertera till SEK. Då skulle din valutatabell kunna se ut på följande vis:

```
Valuta    Värde (i SEK)
EUR        9.2
USD        7.5
osv.
```

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

## #9 — Jesper T, 2005-01-31T16:26Z

Ok. 
På vilket sätt skulle det underlätta sql-frågan?

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

## #10 — UlfT, 2005-01-31T22:56Z

> **Jesper T skrev:**
>
> Ok. 
> På vilket sätt skulle det underlätta sql-frågan?

Det vet jag inte. Men det underlättar datastrukturen. Då är det i allmänhet lättare att komma på frågor som fungerar.

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

## #11 — Jesper T, 2005-02-02T13:21Z

Tips på hur jag skulle kunna gå vidare önskas här. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/121291-dynamisk-sql-klickar
