GladhMedlem sedan maj 20012 812 inlägg 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 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 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 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 Det ser ut som det skulle fungera... tack så mycket.
- Magnus