我遇到了一个问题,但我认为我没有使用正确的搜索关键字。希望有人帮忙,
我有一张看起来像这样的表,
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条虎线之外。
谢谢!
答案 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')