sql 如何在具有别名的结果的 2 个值之间进行过滤
sql how to filter between 2 values of a result with an alias
所以我试图在 -5 和 5 之间过滤
但我得到了
invalid column name procent for 10 Tommer
正确的做法是什么
select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 10 Tommer"
from [Tabel].[dæk]
WHERE "procent for 10 Tommer" BETWEEN -5 AND 5,
select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 11 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 11 Tommer"
from [Tabel].[dæk]
WHERE "procent for 11 Tommer" BETWEEN -5 AND 5
您可以在 WHERE
子句中使用与创建的同一级别的列。
用另一个查询包装它:
SELECT *
FROM (YourQuery Here) t
WHERE t."procent for 10 Tommer" BETWEEN -5 AND 5
或者在WHERE
子句中使用相同的逻辑
WHERE CAST(CEILING((@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100 as decimal(18,2))
BETWEEN -5 AND 5
您不能在 where 子句中使用别名。所以像下面这样使用
SELECT [DÆKSTØRELSEN],CAST(CEILING(
(@OMKREDSNU-[OMKREDS FOR 10 TOMMER])/@OMKREDSNU*100*100)/100
AS DECIMAL(18,2)) AS "PROCENT FOR 10 TOMMER"
FROM [TABEL].[DÆK]
WHERE CAST(CEILING(
(@OMKREDSNU-[OMKREDS FOR 10 TOMMER])/@OMKREDSNU*100*100)/100
AS DECIMAL(18,2))
BETWEEN -5 AND 5
或者
select * from
(select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 10 Tommer"
from [Tabel].[dæk]
)a
where "procent for 10 Tommer" BETWEEN -5 AND 5
所以我试图在 -5 和 5 之间过滤 但我得到了
invalid column name procent for 10 Tommer
正确的做法是什么
select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 10 Tommer"
from [Tabel].[dæk]
WHERE "procent for 10 Tommer" BETWEEN -5 AND 5,
select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 11 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 11 Tommer"
from [Tabel].[dæk]
WHERE "procent for 11 Tommer" BETWEEN -5 AND 5
您可以在 WHERE
子句中使用与创建的同一级别的列。
用另一个查询包装它:
SELECT *
FROM (YourQuery Here) t
WHERE t."procent for 10 Tommer" BETWEEN -5 AND 5
或者在WHERE
子句中使用相同的逻辑
WHERE CAST(CEILING((@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100 as decimal(18,2))
BETWEEN -5 AND 5
您不能在 where 子句中使用别名。所以像下面这样使用
SELECT [DÆKSTØRELSEN],CAST(CEILING(
(@OMKREDSNU-[OMKREDS FOR 10 TOMMER])/@OMKREDSNU*100*100)/100
AS DECIMAL(18,2)) AS "PROCENT FOR 10 TOMMER"
FROM [TABEL].[DÆK]
WHERE CAST(CEILING(
(@OMKREDSNU-[OMKREDS FOR 10 TOMMER])/@OMKREDSNU*100*100)/100
AS DECIMAL(18,2))
BETWEEN -5 AND 5
或者
select * from
(select [Dækstørelsen],CAST(CEILING(
(@omkredsnu-[Omkreds for 10 Tommer])/@omkredsnu*100*100)/100
as decimal(18,2)) as "procent for 10 Tommer"
from [Tabel].[dæk]
)a
where "procent for 10 Tommer" BETWEEN -5 AND 5