webForumDet fria alternativet

SELECT Statement i en CASE

5 svar · 272 visningar · startad av Gladh

GladhMedlem sedan maj 20012 812 inlägg
#1

Jag försöker få följande SQL att fungera:

FoerstePris = CASE WHEN (a.KontantPris > 0)
		THEN
			Cast(0 as Decimal)
		ELSE
			SELECT MAX(b.HoejsteUdbudsPris) FROM EjendomsHandler b WHERE a.SagsIdent = b.SagsIdent and a.OlSident = b.OlSident and b. KvartalStart = (SELECT MIN(c.KvartalStart) FROM EjendomsHandler c WHERE a.SagsIdent = c.SagsIdent and a.OlSident = c.OlSident
		END

Det verkar dock som att man inte kan ha en SELECT statement i en CASE det står dock i books online att ett valit SQL statement skall fungera.

Om man inte kan ha SELECT i en CASE kan man lösa ovanstående på ett annat sätt???

- Magnus

@ndersMedlem sedan juni 200032 969 inlägg
#2

Jag hade provat något sånt härnt:

SELECT CASE WHEN (a.KontantPris > 0)
		THEN
			Cast(0 as Decimal)
		ELSE
			MAX(b.HoejsteUdbudsPris) FROM EjendomsHandler b WHERE a.SagsIdent = b.SagsIdent and a.OlSident = b.OlSident and b. KvartalStart = (SELECT MIN(c.KvartalStart) FROM EjendomsHandler c WHERE a.SagsIdent = c.SagsIdent and a.OlSident = c.OlSident) 
		END AS FoerstePris
GladhMedlem sedan maj 20012 812 inlägg
#3
Server: Msg 156, Level 15, State 1, Line 31
Incorrect syntax near the keyword 'FROM'.
Server: Msg 156, Level 15, State 1, Line 32
Incorrect syntax near the keyword 'END'.
Server: Msg 170, Level 15, State 1, Line 42
Line 42: Incorrect syntax near ')'.
Server: Msg 170, Level 15, State 1, Line 43
Line 43: Incorrect syntax near ')'.

Såg ju så rätt ut :(

- Magnus

@ndersMedlem sedan juni 200032 969 inlägg
#4

Så här borde det nog vara:

SELECT CASE WHEN (a.KontantPris > 0)
		THEN
			Cast(0 as Decimal)
		ELSE
			MAX(b.HoejsteUdbudsPris) 
		END AS FoerstePris
FROM EjendomsHandler b WHERE a.SagsIdent = b.SagsIdent and a.OlSident = b.OlSident and b. KvartalStart = (SELECT MIN(c.KvartalStart) FROM EjendomsHandler c WHERE a.SagsIdent = c.SagsIdent and a.OlSident = c.OlSident)

Mvh

GladhMedlem sedan maj 20012 812 inlägg
#5

Det ser ut som det skulle fungera... tack så mycket.

- Magnus

@ndersMedlem sedan juni 200032 969 inlägg
#6

Varsågod.

mvh

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)