首页 > 解决方案 > 列名“价格”无效

问题描述

我正在尝试在 SQL Server 中执行 SQL If-Else 语句,但我的查询显示了一个错误,即 Invalid Column Name 'Price' 但我的表上有该列。我需要在 If-Else 语句中声明它吗?这是我的查询:

IF Price > 2000000
BEGIN
   PRINT 'Wow! The Sales amount which is 3,000,000 is much higher than the 2,000,000 amount of Year 2018';
END
ELSE
BEGIN
  PRINT 'The Sales amount did not surpass the 2,000,000 of 2018';
END   

我有两列。列名是年份和价格。我的年专栏有 2018 年和 2019 年。我的价格列有 2,000,000 和 3,000,000。

标签: sqlsql-server

解决方案


如果Price是表中的一列,则需要以某种方式引用该表。我不确定您希望如何Price具体使用,但这里有几种可能性。

如果您只是在该表中查找至少一条记录,Price>2000000那么您可以执行类似的操作。

IF EXISTS (SELECT 1 from tbl WHERE Price>2000000)
BEGIN
...

或者,如果您想对该列求和,您可以将总和添加到变量中,然后检查该变量。

declare @price INT
select @price=sum(Price) from tbl
IF @price>2000000
BEGIN
...

推荐阅读