根据相应的行值SQL Server添加行值

时间:2014-05-27 16:30:24

标签: sql sql-server sql-server-2008 tsql

我有数据库表(dbo.TestTable_1),如下所示:

Result    Value1    Value2

Y           A           1
            A           0
            B           1
            A           1
            B           0

我必须读取“Value1”列的前1位并检查,哪一行(列Value1)与该值匹配。获取相应的行值并添加它。如果我的添加是> 0然后我想返回是,否则返回NO。

例如:

"select top 1 Value1 from dbo.TestTable_1" will return A.

然后我需要在“Value1”中找到A所在的行号。那就是(这里是),行号1,2和4.然后我想在“Value2”列中添加相应的值。那是1 + 0 + 1 = 2(这大于0)然后我想返回YES。

我的输出表应如下所示:

Result    Value1    Value2

YES           A           1
              A           0
              B           1
              A           1
              B           0

我尝试过以下查询来实现此目的。但我无法继续前进。

declare @val1 int
set @val1 = (select top 1 Value1 from dbo.TestTable_1)
create table #Temp
(
Val1 int
)
Insert into #Temp
select Value1 
from dbo.TestTable_1
select * from #Temp

我希望,我的解释得到了解。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:1)

你很近,你只需要加值2。您不需要临时表:

declare @val1 int
set @val1 = (select top 1 Value1 from dbo.TestTable_1)

select CASE WHEN SUM(Value2) > 0 THEN 'Yes' ELSE 'No' END
from dbo.TestTable_1
WHERE value1 = @val1