Sql 一列中的条目不能存在于另一列的所有条目中
我的任务是编写一个查询来选择所有文件,这些文件不是任何其他文件的父文件。我有一个表“Files”,其中包含“Id”和“ParentId”列 这是我的查询,但它不能正常工作,因为查询选择具有不同“Id”和“ParentId”的行Sql 一列中的条目不能存在于另一列的所有条目中,sql,sql-server,tsql,select,Sql,Sql Server,Tsql,Select,我的任务是编写一个查询来选择所有文件,这些文件不是任何其他文件的父文件。我有一个表“Files”,其中包含“Id”和“ParentId”列 这是我的查询,但它不能正常工作,因为查询选择具有不同“Id”和“ParentId”的行 SELECT Id, [Name], CONCAT(Size, 'KB') AS Size FROM Files WHERE Id <> ParentId ORDER BY Id, [Name], Size DESC 选择所有文件,这些文件不是任何其他文件的
SELECT Id, [Name], CONCAT(Size, 'KB') AS Size FROM Files
WHERE Id <> ParentId
ORDER BY Id, [Name], Size DESC
选择所有文件,这些文件不是任何其他文件的父文件
使用不存在:
select f.*
from files f
where not exists(select 1 from files f1 where f1.parentid = f.id)