SQL SSRS基于另一行更新行

时间:2016-02-29 16:18:00

标签: sql reporting-services ssrs-2008-r2

我遇到了一个问题,但我认为我没有使用正确的搜索关键字。希望有人帮忙,

我有一张看起来像这样的表,

Name        YEAR
Chicken     2015
Cow         2012
Lion        2014
Lion        **2016**
Tiger       2013
Tiger       2014
Tiger       **2016**

结果

Name        YEAR
Chicken     2015
Cow         2012

我希望所有相应的名称设置为“NULL”,或者最好在YEAR为2016年时删除行。因此,除去其中一条年份= 2016年的狮子线和3条虎线之外。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用子查询执行此操作。你不想看到有关2016年的名字的任何事情,所以你只需要将这个逻辑写入你的where子句。

SELECT Name, Year
FROM table
WHERE Name not in (
    SELECT Name
    FROM table
    WHERE Year = '2016')

对于您的加入情况:

SELECT Name, Year
FROM name_table nt
JOIN year_table yt on yt.id = nt.id
WHERE Name not in (
    SELECT Name
    FROM name_table nt
    JOIN year_table yt on yt.id = nt.id
    WHERE Year = '2016')