Egendefinierat kolumnnamn i where?

Databaser & SQL

2 svar · 310 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Trådstart#1

Hej! har en sql-fråga i sql server som ser ut så här (förenklat):

SELECT
  (kolumnNamn - (SELECT... subfråga)) AS Värde
FROM
  Tabell
WHERE
  Värde > 0

Jag vill alltså hämta "Värde" men bara om det är större än 0, men jag får felet "Invalid column name 'Värde'". Tacksam för hjälp.

Medlem sedan jan. 2005327 inlägg
#2

inspiro skrev:

Hej! har en sql-fråga i sql server som ser ut så här (förenklat):

SELECT
  (kolumnNamn - (SELECT... subfråga)) AS Värde
FROM
  Tabell
WHERE
  Värde > 0

Jag vill alltså hämta "Värde" men bara om det är större än 0, men jag får felet "Invalid column name 'Värde'". Tacksam för hjälp.

SELECT
  (kolumnNamn - (SELECT... subfråga)) AS Värde
FROM
  Tabell
WHERE
  (kolumnNamn - (SELECT... subfråga))  > 0

Nu vet jag ju inte vilket databas det handlar om, men varför inte använda subqueryn i villkoret?

/pebi

Medlem sedan juni 20003 076 inlägg
#3

Eller kapsla in i en ny select:

SELECT * FROM (
     SELECT (kolumnNamn - (SELECT... subfråga)) AS Värde
     FROM Tabell
) AS T
WHERE T.Värde > 0
248 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)