我有一个问题,我已经搜索过,但我认为我没有使用正确的搜索关键字。希望有人帮忙,
我有一张看起来像这样的桌子,
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 时删除行。因此,删除了 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')