基于另一行的SQL SSRS更新行

基于另一行的SQL SSRS更新行

问题描述:

我遇到了一个我搜索过的问题,但我不认为我使用了正确的搜索关键字。希望有人帮助,基于另一行的SQL SSRS更新行

我有一个表,看起来像这样,

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

结果

Name  YEAR 
Chicken  2015 
Cow   2012 

我希望所有相应的名称设置为“NULL”或良好地去除线的一年因此其中2条狮子和3条老虎线被删除,因为其中有一条YEAR = 2016.

谢谢!

你可以用子查询来做到这一点。您不希望看到任何与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') 
+0

不仍然只是删除与2016年的一条线?我认为这个问题是我的连接阻止了这个逻辑的运作。我应该早一点提到。上面的列是来自2个不同的表,其中我有一个内部连接的ID – ssidenable

+0

这些年份的表有什么?它只是身份证和年份,每行都有不同的ID? –